【发布时间】:2018-09-15 15:09:37
【问题描述】:
我正在努力让 Heroku 使用 Sidekiq 作为生产中的作业处理程序。
本地 - 看起来 Sidekiq 正在接受电子邮件工作,如下面的日志显示来自 Sidekiq 的标准输出:
2018-09-15T05:10:05.164Z 5256 TID-ovryxfcwc ActionMailer::DeliveryJob JID-156e566ba5bc0136ef18ee45 INFO: start
2018-09-15T05:10:06.838Z 5256 TID-ovryxfcwc ActionMailer::DeliveryJob JID-156e566ba5bc0136ef18ee45 INFO: done: 1.674 sec
2018-09-15T05:10:06.839Z 5256 TID-ovryxfcwc ActionMailer::DeliveryJob JID-c97af1298abad5b8caebfcd4 INFO: start
2018-09-15T05:10:06.935Z 5256 TID-ovryxfcwc ActionMailer::DeliveryJob JID-c97af1298abad5b8caebfcd4 INFO: done: 0.096 sec
2018-09-15T05:10:06.937Z 5256 TID-ovryxfcwc ActionMailer::DeliveryJob JID-0cca4280f85cd9f41325a2af INFO: start
2018-09-15T05:10:07.035Z 5256 TID-ovryxfcwc ActionMailer::DeliveryJob JID-0cca4280f85cd9f41325a2af INFO: done: 0.098 sec
但是,在 Heroku 的生产环境中,日志显示所有邮件任务都是由 Web Dyno 执行的。我会假设 Worker Dyno 应该正在处理 ActionMailer 作业,但似乎永远不会到达 sidekiq。
在 config/initializers/active_job.rb 我有:
Rails.application.config.active_job.queue_adapter = :sidekiq
让我的应用程序像在测试中那样使用 sidekiq 在生产环境中工作,我哪里出错了?
【问题讨论】:
标签: ruby-on-rails heroku