2013-10-01 58 views
0

我有一個後臺作業,不幸的是事務安全。目前,這項工作如果失敗,只是半工半工。延遲::作業 - 執行期間的變異作業

我想向作業介紹一些狀態並在執行方法期間序列化該狀態,因此如果作業失敗並重試,它可以知道跳過已完成的步驟。

我知道工作類在調用Delayed::Job.enqueue時會被序列化,但是在執行perform方法期間是否可以對其進行反序列化?

+1

您可能需要考慮將您的工作分解爲更小的工作,並在完成一個步驟時排入下一個鏈。沒有看到你的代碼,很難規定你需要什麼。 –

回答

0

我能想到的一切就是使用一個救援塊,在這個塊中,你將排隊一個同樣類型的新作業,但有不同的序列化對象。