【问题标题】:Production Sidekiq生产 Sidekiq
【发布时间】: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


    【解决方案1】:

    是我愚蠢而且没有实践——当然,worker 正在运行 sidekiq——它必须调用 web worker 才能真正完成这项工作。

    通过启用 sidekiq 路由来检查已运行的作业,通过查看统计信息进行确认。

    【讨论】:

      猜你喜欢
      • 2013-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-12
      • 2014-05-22
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      相关资源
      最近更新 更多