【发布时间】:2011-10-20 05:40:17
【问题描述】:
由于某种原因,Delayed::Job's 决定排队但不执行任何操作,即使我已经重新启动了几次,甚至杀死 -9 并重新启动它。它不会运行任何作业。
我可以在 /console 中指定一个特定的工作并告诉它工作吗?
例如:..Delayed::Job.find(x).run
【问题讨论】:
由于某种原因,Delayed::Job's 决定排队但不执行任何操作,即使我已经重新启动了几次,甚至杀死 -9 并重新启动它。它不会运行任何作业。
我可以在 /console 中指定一个特定的工作并告诉它工作吗?
例如:..Delayed::Job.find(x).run
【问题讨论】:
你也可以这样做:
Delayed::Worker.new.run( Delayed::Job.find(x) )
【讨论】:
回答如何从控制台运行特定作业:
Delayed::Job.find(x).invoke_job
但您必须记住,它不会运行任何其他操作,例如破坏已完成的作业等。只是运行作业/任务。
【讨论】:
在 Heroku 上,我有一个“卡住”的工作,只需要运行 heroku restart 让工人/工作重新开始。
【讨论】: