95 由于某些原因,Delayed :: Job's决定排队,但不执行任何操作,即使我已将其重新启动了几次,甚至杀死-9并重新启动它。它不会运行任何作业。 我可以在/ console中指定一个特定的工作并告诉它工作吗? 例如:.. Delayed::Job.find(x).run ruby-on-rails delayed-job — 行程 source 在Delayed_job — smathy
130 回答如何从控制台运行特定作业: Delayed::Job.find(x).invoke_job 但您必须记住,它不会执行任何其他操作,例如销毁已完成的工作等。只是运行工作/任务。 — schiza source 4 仔细阅读答案的作者注释:“它不会执行任何其他事情,例如破坏已完成的工作”。我之所以这样说,是因为我没有读过它,而且我快疯了。检查@DavidTuite的答案 — fguillen
164 您也可以这样做: Delayed::Worker.new.run( Delayed::Job.find(x) ) — 大卫·杜伊特 source 真好!感谢那! — 旅行 26 这是最好的答案,它会在完成后删除作业。谢谢 — m4risU 2014年 12 Delayed :: Worker.new.run(Delayed :: Job.find(id)) — mrt 优秀的。同意@ m4risU。 — 克里斯·斯科特 我同意@mrt的评论,您应该确保您运行正确的工作 — Jonny
0 在Heroku上,我有一个“卡住”的工作,只好跑去heroku restart让工人/工作重新开始。 — 拉索姆 source 感谢您的正面评价;-)可能是询问的人-或遇到此问题的人-在Heroku上遇到了问题。 — 索姆