一定の間隔 (毎分) でジョブの新しいバッチを作成するプロセスがあり、それらを別のプロセスで処理するために kue に送信したいと考えています。
場合によっては、同じジョブが異なるバッチに含まれる場合があります。
前のバッチで送信されたジョブが、新しいバッチで再度送信されるまでに完了していなかった場合はどうなりますか?
私の理解では、それは新しいジョブとして扱われ、2 回実行されます。
これは正しいですか、これを回避する方法はありますか?
1 つの方法は、ジョブ イベントをトラップし、complete
キューに入れられたジョブのリストをトラバースして (この優れた投稿で説明されているように)、重複の可能性があるものを識別できると仮定して削除することです。
私はそれを自分でやったことがないので、このルートに従う場合は、競合状態に注意してください: 保留中のジョブのトラバースを完了する前に、重複したジョブがスケジュールされる可能性があるかどうか疑問に思います (わかりません)。
お役に立てれば。