【发布时间】:2013-09-04 23:51:01
【问题描述】:
我想知道我是否成功让Delayed::Job 工作。
在delayed_jobs 表中看不到职位。
- 这正常吗?
- 还有其他方法可以查看作业队列吗?
【问题讨论】:
我想知道我是否成功让Delayed::Job 工作。
在delayed_jobs 表中看不到职位。
【问题讨论】:
DelayedJob 为每个排队的作业存储一个数据库记录,因此您可以直接通过 rails 控制台检索它们(假设您使用的是 ActiveRecord 或类似工具)。
打开rails控制台:
$ rails c
然后查询入队的作业:
$ Delayed::Job.all
或
$ Delayed::Job.last
如果您使用其他数据库(如 Redis)安装了延迟作业,您可能想去那里检查排队的作业。
【讨论】:
您应该在delayed_jobs 表中看到作业,是的。但是,当延迟的作业成功运行时,它们会被删除。所以这可能只是转瞬即逝的事情。 (Delayed Job 每 5 秒检查一次表中是否有新作业运行,因此对于短时间运行的作业,该记录可能仅持续几秒钟。)如果我想检查,我通常会确保延迟作业守护程序已关闭delay_jobs 表中的负载对象。
【讨论】: