我正在努力让Heroku在生产中使用Sidekiq作为作业处理程序。
本地- Sidekiq似乎正在接收电子邮件作业,如Sidekiq的stdout中的日志所示:
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执行的。我假设工人Dyno应该正在处理ActionMailer作业,但似乎永远不会到达sidekiq。
在config/initializers/active_job.rb下,我有:
Rails.application.config.active_job.queue_adapter = :sidekiq让我的应用程序像在测试中那样在生产环境中使用sidekiq时,我哪里出了问题?
发布于 2018-09-15 15:09:37
这是我的愚蠢和缺乏实践--当然是工作人员在运行sidekiq --它不得不打电话给web工作人员来实际做这项工作。
通过启用sidekiq路由来检查作业是否已运行,通过查看统计数据进行确认。
https://stackoverflow.com/questions/52342391
复制相似问题