我目前正在構建一個rails平臺,並且我使用devise進行身份驗證,現在想要將默認設計電子郵件移動到後臺進程使用sidekiq。我使用的設計,異步這個,也做了以下內容:通過sidekiq和devise-async發送後臺郵件,隊列已滿,但郵件未處理
新增的devise_async.rb文件:
#config/initializers/devise_async.rb
Devise::Async.backend = :sidekiq
增加異步命令到色器件模型:
#user.rb
devise :database_authenticatable, :asynC#etc.
的版本的寶石如下:
Devise 2.1.2
Devise-async 0.4.0
Sidekiq 2.5.3
我遇到的問題是電子郵件傳遞sidekiq隊列,但工作人員從不執行發送電子郵件。我也看過devise async not working with sidekiq,他似乎也有同樣的問題。但我不認爲我的主機名命令有問題。
對這個問題有什麼想法?
問這可能很愚蠢,但是你有一個獨立的工作進程,通過'bundle exec sidekiq -C config.yaml'或類似的東西運行嗎? – number5
問這其實並不愚蠢,因爲我認爲這種事情總是發生。我實際上使用'redis-server'啓動了redis,然後使用'bundle exec sidekiq'啓動了sidekiq。事情是,我知道sidekiq正在工作,因爲我也發送郵件在後臺進程邀請,這是獨立於設計。 – Julius
嘗試'捆綁執行exec sidekiq -q mailer'我認爲設計 - 異步使用郵件隊列不是默認的。 – number5