ジョブを取得して実行するために同じ mysql クエリを実行する複数のソースがあります (ソースは異なる php スクリプトです)。過去との距離が最も長いジョブを取得したいので、次のクエリを使用します。
SELECT * FROM jobs ORDER BY last_done ASC
ここで私の問題は、各ソースが一意の結果を取得する必要があることです。つまり、1 つのソースがjob1
このジョブを取得した場合、last_done への更新を取得する必要があるため、再びテーブルの一番下にあり、秒のソースがクエリを実行する場合は取得しないでくださいjob1
。代わりに取得する必要がjob2
あります。
選択後に別々に更新すると、2つのソースがほぼ同時に呼び出され、同じジョブが取得されることがあるという問題があります。
近くでクエリを実行している 2 つのソースが同じジョブを取得しないようにするにはどうすればよいですか?