残念ながら、トランザクション的に安全ではないバックグラウンド ジョブがあります。現在、このジョブは、失敗した場合は破棄され、半分完了したままになります。
ジョブに何らかの状態を導入し、その状態を perform メソッド中にシリアル化して、ジョブが失敗して再試行された場合に、既に完了したステップをスキップすることを認識できるようにしたいと考えています。
を呼び出すときにジョブクラスがシリアル化されることはわかってDelayed::Job.enqueue
いますが、メソッドの実行中に再シリアル化できperform
ますか?