Rails 4.2 - Sidekiq 在开发中不发送电子邮件
Rails 4.2 - Sidekiq not sending emails in development
我有一个 rails 应用程序,我可以在其中发送大量电子邮件。我想执行此操作 asynchronously
。为此,我尝试使用 Sidekiq
,但我无法使其正常工作 - 它不发送任何电子邮件。
发送电子邮件之前有效,所以我确定我的电子邮件设置正确。
在我的 gemfile
我有这个:
gem 'sidekiq'
我有 运行 bundle install
。我还按照 RailsCasts #366.
上的说明安装了 redis
我已使用以下命令启动 sidekiq
:bundle exec sidekiq
,结果如下图所示:
在 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 介绍了 detail here 中的场景。
也可以修改config/sidekiq.yml:
---
:concurrency: 25
:pidfile: ./tmp/pids/sidekiq.pid
:logfile: ./log/sidekiq.log
:queues:
- default
- mailers
和运行sidekiq -C config/sidekiq.yml
我有一个 rails 应用程序,我可以在其中发送大量电子邮件。我想执行此操作 asynchronously
。为此,我尝试使用 Sidekiq
,但我无法使其正常工作 - 它不发送任何电子邮件。
发送电子邮件之前有效,所以我确定我的电子邮件设置正确。
在我的 gemfile
我有这个:
gem 'sidekiq'
我有 运行 bundle install
。我还按照 RailsCasts #366.
redis
我已使用以下命令启动 sidekiq
:bundle exec sidekiq
,结果如下图所示:
在 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 介绍了 detail here 中的场景。
也可以修改config/sidekiq.yml:
---
:concurrency: 25
:pidfile: ./tmp/pids/sidekiq.pid
:logfile: ./log/sidekiq.log
:queues:
- default
- mailers
和运行sidekiq -C config/sidekiq.yml