【发布时间】:2013-07-07 06:35:05
【问题描述】:
我试图让一个 resque 的工作在某些情况下停止, 但没有在 resque Web 界面中获得失败状态的作业。
尝试了 exit() 并返回,这两者都为作业抛出了失败状态。
如何优雅地停止 resque 作业中的代码执行?
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1 resque
我试图让一个 resque 的工作在某些情况下停止, 但没有在 resque Web 界面中获得失败状态的作业。
尝试了 exit() 并返回,这两者都为作业抛出了失败状态。
如何优雅地停止 resque 作业中的代码执行?
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1 resque
停止执行而不报告失败状态:
raise Resque::Job::DontPerform
在 before_perform 钩子中。
这没有很好的记录,但您可以在 the code 中找到参考。
更新:Resque hooks documentation
【讨论】:
break 导致 LocalJumpError,然后进入失败的队列.. 真的有人对此有解决方案吗?我知道.. 旧线程。