Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在rails中暂停和恢复延迟的作业任务_Ruby On Rails_Delayed Job - Fatal编程技术网

Ruby on rails 如何在rails中暂停和恢复延迟的作业任务

Ruby on rails 如何在rails中暂停和恢复延迟的作业任务,ruby-on-rails,delayed-job,Ruby On Rails,Delayed Job,是否有任何方法可以暂停并恢复rails中延迟的_作业的长任务。在我的例子中,一个任务是使用twilio发送几百条短信。我想授予我的用户暂停和恢复短信发送进度的权限。可能吗?请让我知道。不幸的是,没有内置的方法来暂停和恢复延迟的作业。请参阅以下GitHub问题: 这并不是说你不能用额外的工作来完成。您可以让您的作业定期检查您的数据库,看它是否应该在继续之前等待。定义如何完成“等待”是另一回事。更有可能的是,您最好的选择是为“暂停”操作设计一种停止当前作业并保存其状态的方法。“恢复”将启动另一项工作

是否有任何方法可以暂停并恢复rails中延迟的_作业的长任务。在我的例子中,一个任务是使用twilio发送几百条短信。我想授予我的用户暂停和恢复短信发送进度的权限。可能吗?请让我知道。

不幸的是,没有内置的方法来暂停和恢复延迟的作业。请参阅以下GitHub问题:


这并不是说你不能用额外的工作来完成。您可以让您的作业定期检查您的数据库,看它是否应该在继续之前等待。定义如何完成“等待”是另一回事。更有可能的是,您最好的选择是为“暂停”操作设计一种停止当前作业并保存其状态的方法。“恢复”将启动另一项工作,并在其结束时继续进行。

谢谢。我已经设计了一种方法来定义工作状态,以满足我恢复或重新安排工作的要求。但我面临的问题是停止工作。“有什么方法可以阻止延迟作业的特定运行作业吗?”@MarufHasan我想你也会采用类似的方法。让正在运行的作业定期检查其当前状态,如果它被告知停止,只需停止执行作业的剩余部分,并可能对表示延迟的作业的ActiveRecord对象调用
destroy
。此问题讨论删除这些延迟的作业对象: