3
有什麼方法可以在rails中暫停和恢復delayed_job的長任務。在我的情況下,一項任務是使用twilio發送數百條短信。我想授予我的用戶暫停和恢復文本消息發送進度。可能嗎?請告訴我。如何在rails中暫停和恢復delayed_job任務
有什麼方法可以在rails中暫停和恢復delayed_job的長任務。在我的情況下,一項任務是使用twilio發送數百條短信。我想授予我的用戶暫停和恢復文本消息發送進度。可能嗎?請告訴我。如何在rails中暫停和恢復delayed_job任務
不幸的是,沒有內置的方式來使用delayed_job暫停和恢復作業。請參閱以下GitHub問題:https://github.com/collectiveidea/delayed_job/issues/58
這並不是說您無法通過其他工作來完成此任務。您可能需要定期檢查數據庫,以確定是否應該繼續等待。定義如何完成「等待」是另一回事。更可能的是,最好的辦法是設計一種「暫停」動作來停止當前作業並保存其狀態。 「恢復」將啓動另一項繼續停止工作的工作。
謝謝。我設計了一種方法來定義工作狀態,以滿足我的要求以恢復或重新計劃。但我面臨着阻止正在運行的工作的問題。有沒有辦法阻止delayed_job的特定運行作業? –
@MarufHasan我想你會在那裏採用類似的方法。定期運行正在運行的作業,檢查它是否爲當前狀態,如果它被告知停止,則停止執行作業的剩餘部分,並可能調用表示delayed_job的ActiveRecord對象上的'destroy'。這個問題討論刪除那些delayed_job對象:http://stackoverflow.com/questions/3638250/how-to-cancel-scheduled-job-with-delayed-job-in-rails –