如何查看延迟的作业队列?
Posted
技术标签:
【中文标题】如何查看延迟的作业队列?【英文标题】:How can I see the delayed job queue? 【发布时间】:2013-09-04 23:51:01 【问题描述】:我想知道我是否成功让Delayed::Job 工作。
在delayed_jobs
表中看不到职位。
【问题讨论】:
【参考方案1】:DelayedJob 为每个排队的作业存储一个数据库记录,因此您可以直接通过 rails 控制台检索它们(假设您使用的是 ActiveRecord 或类似工具)。
打开rails控制台:
$ rails c
然后查询入队的作业:
$ Delayed::Job.all
或
$ Delayed::Job.last
查看documentation。
如果您使用其他数据库(如 Redis)安装了延迟作业,您可能想去那里检查排队的作业。
【讨论】:
如何在测试用例的特定队列上启动 Delayed::Worker?【参考方案2】:您应该在delayed_jobs 表中看到作业,是的。但是,当延迟的作业成功运行时,它们会被删除。所以这可能只是转瞬即逝的事情。 (Delayed Job 每 5 秒检查一次表中是否有新作业运行,因此对于短时间运行的作业,该记录可能仅持续几秒钟。)如果我想检查,我通常会确保延迟作业守护程序已关闭delay_jobs 表中的负载对象。
【讨论】:
默认情况下会删除失败的作业,但可以配置 Delayed::Job 以保留它们。以上是关于如何查看延迟的作业队列?的主要内容,如果未能解决你的问题,请参考以下文章