0

残念ながら、トランザクション的に安全ではないバックグラウンド ジョブがあります。現在、このジョブは、失敗した場合は破棄され、半分完了したままになります。

ジョブに何らかの状態を導入し、その状態を perform メソッド中にシリアル化して、ジョブが失敗して再試行された場合に、既に完了したステップをスキップすることを認識できるようにしたいと考えています。

を呼び出すときにジョブクラスがシリアル化されることはわかってDelayed::Job.enqueueいますが、メソッドの実行中に再シリアル化できperformますか?

4

1 に答える 1

0

私が考えることができるのは、同じ種類の新しいジョブをエンキューするレスキュー ブロックを使用することですが、シリアライゼーションのオブジェクトは異なります。

于 2013-10-01T13:09:35.173 に答える