gpt4 book ai didi

ruby - 了解 delayed_job 状态

转载 作者:数据小太阳 更新时间:2023-10-29 07:34:05 25 4
gpt4 key购买 nike

我已经使用 delayed_job 在我的 Rails 应用程序中实现了长时间运行的任务连同 delayed_job_web .我的 delayed_job 配置指示作业尝试一次,并保留失败:

config/initializers/delayed_job.rb:

Delayed::Worker.max_attempts = 1
Delayed::Worker.destroy_failed_jobs = false

我尝试了 2 个自动引发错误的测试作业,以查看失败的行为。我得到的是以下内容:

enter image description here

我的预期是失败的作业计数为 2,但排队/工作/待处理 都为 0。我找不到任何关于确定工作是否入队/工作/待定的文件,甚至是工作之间的区别Pending 是(网络界面将这两个列表描述为“包含当前正在处理的作业”。)

任何人都可以澄清一下吗?

最佳答案

如果你勾选https://github.com/ejschmitt/delayed_job_web/blob/master/lib/delayed_job_web/application/app.rb ,您会看到以下内容(从第 114 行开始):

when :working
'locked_at is not null'
when :failed
'last_error is not null'
when :pending
'attempts = 0'
end
  1. Enqueued 是延迟作业的总数,即 Delayed::Job.count

  2. 工作作业是那些已被 delayed_job 进程锁定并且当前正在工作的作业。

  3. 失败的是那些有last_error

  4. Pending 是那些从未尝试过的工作。

关于ruby - 了解 delayed_job 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21791348/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com