【问题标题】:gracefully stop execution a resque job without fail status?优雅地停止执行一个没有失败状态的resque作业?
【发布时间】: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


    【解决方案1】:

    停止执行而不报告失败状态:

    raise Resque::Job::DontPerform

    在 before_perform 钩子中。

    这没有很好的记录,但您可以在 the code 中找到参考。

    更新:Resque hooks documentation

    【讨论】:

    • resque 从 defunkt/resque 移动到 resque/resque
    • Sidekiq 有类似的东西吗?
    • break 导致 LocalJumpError,然后进入失败的队列.. 真的有人对此有解决方案吗?我知道.. 旧线程。
    猜你喜欢
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 2021-08-01
    • 2010-11-05
    • 1970-01-01
    • 1970-01-01
    • 2013-12-04
    • 1970-01-01
    相关资源
    最近更新 更多