2016-11-09 151 views
0

我有以下方法如何檢查是否延遲工作其實是重試

def max_attempts 
    3 
end 

但我想檢查,如果互聯網是不存在的,或者我將建立第三方連接不可用。我想延遲工作來重試它。我已關閉互聯網,但我看不到Delayed::Job正在填充。

+0

您是否試圖檢查「我建立的第三方連接不可用或不可用?」? 問題不清楚,描述你想從延遲工作中處理什麼。 –

回答

0

您可以檢查:

Delayed::Job.find(id).attempts 

attempts應該表現出你山楂許多嘗試它試圖這樣做,如果它達到最大,將停止嘗試。

確保你沒有捕捉到錯誤的地方,否則延遲工作會認爲它的成功,並將從表中刪除。

+0

如果互聯網不存在,我不能看到表填充 – gates

+0

爲什麼你認爲當互聯網不工作時,DJ應該失敗? –

+0

我在執行方法中的代碼涉及一些需要互聯網的第三方API。如果我錯了,請你糾正我,並告訴我一種方法來實際檢查max_attempts方法是否可行 – gates