如何查看延迟的作业队列?

时间:2013-09-01 22:30:14

标签: ruby-on-rails delayed-job

我想知道我是否成功地让Delayed::Job工作了。 无法在delayed_jobs表中查看作业。

  • 这是正常的吗?
  • 还有其他方法可以看到工作队列吗?

2 个答案:

答案 0 :(得分:97)

DelayedJob为每个排队的作业存储数据库记录,因此您可以直接通过rails控制台检索它们(假设您使用的是ActiveRecord或类似的)。

打开rails控制台:

$> rails c

然后查询排队的作业:

$> Delayed::Job.all

$> Delayed::Job.last

查看documentation

如果您使用Redis等其他数据库安装delayed_job,您可能需要去检查排队的作业。

答案 1 :(得分:8)

您应该在delayed_jobs表中看到作业,是的。但是当延迟的工作成功运行时,它们就会被删除。所以它可能只是一个稍纵即逝的事情。 (延迟作业检查表中是否每5秒运行一次新作业,因此在给定短期运行作业的情况下,记录平均可能只持续几秒钟。)如果我想检查,我通常会确保延迟作业守护程序关闭delayed_jobs表中的有效负载对象。