我有一个 Rails 应用程序,其中有一个方法可以发送大量电子邮件。我想执行此操作asynchronously
。为此,我尝试使用Sidekiq
,但我无法让它正常工作 - 它不发送任何电子邮件。
以前可以发送电子邮件,因此我确信我的电子邮件设置设置正确。
In my gemfile
我有这个:
gem 'sidekiq'
我已经跑了bundle install
。我也安装了redis
,按照说明进行操作RailsCast #366 http://railscasts.com/episodes/366-sidekiq.
我已经开始了sidekiq
使用以下命令:bundle exec sidekiq
,结果如下图所示:
In application.rb
我有以下内容:
config.active_job.queue_adapter = :sidekiq
我尝试像这样发送电子邮件:
Mailer.deliver_new_competition_notification(member.user, @competition).deliver_later!
我没有收到任何错误,但电子邮件永远不会发送。
那么,我是不是错过了什么?
您需要使用邮件程序队列启动 sidekiq 才能接收这些作业:
bundle exec sidekiq -q default -q mailers
Sidekiq Wiki 回顾了以下场景详细信息在这里 https://github.com/mperham/sidekiq/wiki/Active-Job#action-mailer.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)