【问题标题】:How can I see the delayed job queue?如何查看延迟的作业队列?
【发布时间】:2013-09-04 23:51:01
【问题描述】:

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

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

【问题讨论】:

    标签: ruby-on-rails delayed-job


    【解决方案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 以保留它们。
    猜你喜欢
    • 1970-01-01
    • 2016-10-10
    • 2017-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-16
    • 2011-08-26
    • 1970-01-01
    相关资源
    最近更新 更多