添加了延迟的作业,但在Heroku上无法正常工作

时间:2019-05-08 01:31:18

标签: ruby-on-rails activerecord delayed-job

我们正在尝试使用Delay::Job处理某些特定于时间的后台功能。

虽然在开发方面一切正常(本地计算机),但生产工人似乎没有工作。

在日志中,我可以看到该工作程序正在运行,但似乎从未选择或锁定该工作程序要运行的作业。

看来作业正在正确排队,并且通过控制台Delayed::Job.find(1).invoke_job手动调用时,它们按预期方式运行其方法。

在Procfile中使用worker: rake jobs:work调用的工作程序似乎可以运行,但似乎从未选择要执行的工作。

我缺少什么关键步骤?

可能是TimeZone问题吗?我尝试使用其他日期时间。

甚至从工作日志文件中运行SQL查找:

\SELECT "delayed_jobs"."id" FROM "delayed_jobs" WHERE ((run_at <= '2019-05-08 01:29:13.843987' AND (locked_at IS NULL OR locked_at < '2019-05-07 21:29:13.844084')AND failed_at IS NULL) AND "delayed_jobs"."queue" = '*' ORDER BY priority ASC, run_at ASC LIMIT 1)

返回我认为应该有效的一组有效ID。

感谢您的帮助。

0 个答案:

没有答案