11

私は現在、Railsプラットフォームを構築しており、認証にdeviseを使用しましたが、sidekiqを使用してデフォルトのdeviseメールをバックグラウンドプロセスに移動したいと考えています。私はこれにdevise-asyncを使用しており、次のことを行っています。

devise_async.rbファイルを追加しました:

#config/initializers/devise_async.rb
Devise::Async.backend = :sidekiq

deviseモデルにasyncコマンドを追加しました:

#user.rb
devise :database_authenticatable, :async #etc.

宝石のバージョンは次のとおりです。

Devise 2.1.2
Devise-async 0.4.0
Sidekiq 2.5.3

私が抱えている問題は、電子メールがsidekiqキューで渡されるが、ワーカーが電子メールの送信を実行しないことです。私はまた、sidekiqで動作しないデバイス非同期を調べましたが、彼は同じ問題を抱えているようでした。しかし、hostnameコマンドに問題はないと思います。

この問題について何か考えはありますか?

4

3 に答える 3

19

答えはかなり単純です。mailersidekiq をで開始して、キューを使用するように sidekiq に指示するだけですbundle exec sidekiq -q mailer。そうすれば、オプション sidekiq なしでメーラー キューが処理され、単純にdefaultキューに依存します。

于 2012-11-21T09:21:59.487 に答える