我需要實現一項功能,如果resque作業在特定時間內未得到處理,該功能可以讓resque作業超時。如何設置resque作業的超時時間
因此,我們可以說創建了一份工作,但由於排隊太長和/或沒有足夠的工作人員關閉,因此無法在一個小時內處理。
我不想在這種情況下刪除工作......最好的辦法是什麼?也許有一個配置參數,我正在監督或第三方寶石?
感謝
我需要實現一項功能,如果resque作業在特定時間內未得到處理,該功能可以讓resque作業超時。如何設置resque作業的超時時間
因此,我們可以說創建了一份工作,但由於排隊太長和/或沒有足夠的工作人員關閉,因此無法在一個小時內處理。
我不想在這種情況下刪除工作......最好的辦法是什麼?也許有一個配置參數,我正在監督或第三方寶石?
感謝
我不知道是否有一種方法在默認情況下做到這一點的Resque,但它不會是很難做到的自己。
在你的工作做這樣的事情:
def perform(id, queued_at)
return false unless Time.parse(queued_at) >= 1.hour.ago
...
end
而要排隊工作,做到:Resque.enqueue(MyJobClass,object.id,DateTime.now)。第一行將自動轉儲作業,並在作業排隊時間超過一小時前阻止作業執行。
https://rubygems.org/gems/resque-timeout是應該超時工作的寶石。不知道是否刪除 – ScottJShea 2012-03-05 01:29:00
已經檢查...它殺死長時間運行的resque任務。所以不是我正在尋找的東西:( – Matthias 2012-03-05 01:30:48