0

delayed_job_active_record長時間実行されるプロセスをバックグラウンドにプッシュするために使用しています。電子メールの送信以外はうまく機能します。ジョブを処理して完了しますが、ここにメールが来ることはありません。この問題は本番環境でのみ発生します。そのため、メーラー設定を前後に切り替えてみましたが、開発設定を使用するとうまく機能することがわかりましたが、本番環境設定を使用するとうまくいきません。

なしでメーラー設定をテストしましたがdelayed_job、どちらの環境でも問題なく動作するため、メール設定に問題がないことは確かです。

本番環境で

config.action_mailer.default_url_options = { :host => 'www.xyz.com' }
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings =  {
  :address        => 'smtp.sendgrid.net',
  :port           => '587',
  :authentication => :plain,
  :user_name      => 'xyz',
  :password       => 'password123',
  :domain         => 'heroku.com'
}

開発環境で

config.action_mailer.default_url_options = { :host => 'localhost:3000' }
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = { :address => "localhost", :port => 1025 }

何か案が ?

4

1 に答える 1

1

RAILS_ENVワーカーをいつ起動するかを設定していますか?

RAILS_ENV=production script/delayed_job start

https://github.com/collectiveidea/delayed_job#running-jobs

于 2013-10-12T16:53:30.390 に答える