70

我想知道我是否成功让Delayed::Job工作。delayed_jobs在表格中看不到职位。

  • 这正常吗?
  • 还有其他方法可以查看作业队列吗?
4

2 回答 2

118

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

打开导轨控制台:

$ rails c

然后查询排队的作业:

$ Delayed::Job.all

或者

$ Delayed::Job.last

查看文档

如果您使用 Redis 等另一个数据库安装了延迟作业,您可能需要去那里检查排队的作业。

于 2013-09-01T22:42:09.300 回答
9

你应该在delayed_jobs 表中看到作业,是的。但是,当延迟的作业成功运行时,它们会被删除。所以这可能只是转瞬即逝的事情。(Delayed Job 每 5 秒检查一次表中是否有新作业运行一次,因此对于一个短期运行的作业,该记录可能仅持续几秒钟。)如果我想检查,我通常会确保延迟作业守护程序已关闭delay_jobs 表中的有效负载对象。

于 2013-09-01T23:37:20.573 回答