繁体   English   中英

延迟的作业未从表中选择作业

[英]Delayed Job not picking job from table

在我当前的项目中,我正在使用“延迟作业” gem在后台进行一些处理。 它在本地工作正常,但在生产作业中将其插入“延迟作业”表中,但DJ并未从该DJ表中挑选少量作业。 谁能想到“延迟作业”将如何从“延迟作业”表中提取作业。

以下是我的项目中的延迟工作代码:

Delayed::Job.enqueue(ProposalJob.new(current_user, @proposal, request.host, params[:proposal][:revision_notes], params[:proposal][:close_date]), :queue => 'publishing')

我的项目中的作业配置延迟:

Delayed::Worker.destroy_failed_jobs = false Delayed::Worker.max_attempts = 3 Delayed::Worker.max_run_time = 1.hours Delayed::Worker.read_ahead = 10

延迟的工作不可能会选择某些工作而不会选择其他工作。 它要么处理所有作业,要么不处理任何作业。 如果它处理任何作业,则您的配置正确。

由于Delayed::Worker.destroy_failed_jobs = false因此可能存在此配置问题。 如果您的任何作业失败三遍,那么它将不会从延迟的作业表中删除。 因此,您可能会觉得此作业没有得到处理。

尝试使用puts调试延迟的作业代码。

您也可以尝试https://github.com/resque/resque-scheduler,这将提供可视化的方式来查看延迟的工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM