【问题标题】:How to pause and resume delayed_job tasks in rails如何在rails中暂停和恢复delayed_job任务
【发布时间】:2012-12-31 05:45:16
【问题描述】:

有什么办法可以暂停和恢复rails中delayed_job的长任务。就我而言,一项任务是使用 twilio 发送数百条短信。我想允许我的用户暂停和恢复短信发送进度。可能吗?请告诉我。

【问题讨论】:

    标签: ruby-on-rails delayed-job


    【解决方案1】:

    很遗憾,没有内置方法可以使用延迟作业暂停和恢复作业。请参阅以下 GitHub 问题:https://github.com/collectiveidea/delayed_job/issues/58

    这并不是说您无法通过额外的工作来完成此任务。你可以让你定期检查你的数据库,看看它是否应该在继续之前等待。定义如何完成“等待”是另一回事。很有可能,您最好的选择是设计一种“暂停”操作的方式来停止当前作业并保存其状态。 “Resuming”然后会启动另一个工作,从中断的地方继续。

    【讨论】:

    • 谢谢。我设计了一种方法来定义工作状态,以满足我恢复或重新安排的要求。但我面临停止正在运行的工作的问题。有什么办法可以停止delayed_job的特定运行作业?
    • @MarufHasan 我认为你会在那里采用类似的方法。使正在运行的作业定期检查它的当前状态,如果它被告知停止,则停止执行作业的剩余部分,并可能在表示延迟作业的 ActiveRecord 对象上调用destroy。这个问题讨论了删除那些delayed_job 对象:stackoverflow.com/questions/3638250/…
    猜你喜欢
    • 2021-12-17
    • 2017-02-15
    • 2016-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-26
    • 2014-10-25
    • 1970-01-01
    相关资源
    最近更新 更多