Ruby 了解延迟工作状态
我已经在我的Rails应用程序中使用和实现了长时间运行的任务。我的延迟_作业配置指示作业尝试一次,并指示保留失败: config/initializers/delayed_job.rb:Ruby 了解延迟工作状态,ruby,delayed-job,Ruby,Delayed Job,我已经在我的Rails应用程序中使用和实现了长时间运行的任务。我的延迟_作业配置指示作业尝试一次,并指示保留失败: config/initializers/delayed_job.rb: Delayed::Worker.max_attempts = 1 Delayed::Worker.destroy_failed_jobs = false 我尝试了两个自动引发错误的测试作业,以查看失败的表现。我得到的是: 我的预期是失败的工作将有2个计数,但排队的/工作的/等待的都将是0。我找不到任何文档说
Delayed::Worker.max_attempts = 1
Delayed::Worker.destroy_failed_jobs = false
我尝试了两个自动引发错误的测试作业,以查看失败的表现。我得到的是:
我的预期是失败的工作将有2个计数,但排队的/工作的/等待的都将是0。我找不到任何文档说明是什么决定作业是否排队/工作/挂起,甚至找不到工作和挂起之间的区别(web界面将这两个列表描述为“包含当前正在处理的作业”。)
有人能提供一些清晰的信息吗 如果选中,您将看到以下内容(起始行114):
delayed::Job.count
last\u错误的
@谢谢,除了工作状态,这一切都是有意义的。如果某个作业失败,且最大尝试次数=1,为什么该作业仍被视为工作/锁定?我同意你的观点;然而,他们在源代码中就是这样做的。你可以找到他们的来源并更新它,如果它困扰着你,然后把你的宝石放进你的Gemfile:-)你是怎么得到那张表的?我找不到监视队列的好方法。。
when :working
'locked_at is not null'
when :failed
'last_error is not null'
when :pending
'attempts = 0'
end