私のチーム メンバーの 1 人が PHP でキューイング プロセスを作成しているという問題があります。PHP スクリプトはコマンド ラインで実行され、各サイクルの後に再帰的に呼び出して、DB 内に処理待ちの項目があるかどうかを確認します。存在する場合は、それ自体をフォークし、キュー内のアイテムを処理して繰り返します。何もない場合は終了し、cron ジョブが 5 分ごとにキューを再起動します。
場合によっては、2 つのプロセスが同時に実行され、同じキューを取得し、互いに干渉することがあります。ウェイクアッププロセスにジッターを導入して、プロセスが開始するまでの時間がランダムになるようにすることを考えていました。
より良い方法はありますか?