我怎样才能看到延迟的工作队列?

我想知道我是否成功获得Delayed :: Job的工作。 在delayed_jobs表中看不到工作。

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

DelayedJob为每个入队作业存储一个数据库logging,所以你可以直接通过rails控制台(假设你使用的是ActiveRecord或类似的)来获取它们。

打开导轨控制台:

 $> rails c 

然后查询排入的作业:

 $> Delayed::Job.all 

要么

 $> Delayed::Job.last 

检查文档 。

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

你应该在delayed_jobs表中看到工作,是的。 但是,当延迟作业成功运行时,它们将被删除。 所以这可能只是一个短暂的事情。 (“延迟作业”检查表中是否每5秒运行一次新作业,因此如果短时间运行作业,logging的平均可能只会持续几秒钟)。如果要检查延迟作业后台程序,我通常会确保closures延迟作业后台进程delayed_jobs表中的有效载荷对象。