書かれているように、ジョブを要求しようとしている別のワーカーはクエリ1でブロックします。古いバージョンの行は表示できますが、更新できません。ブロックされます。
したがって、1回のトランザクションでそれを行わないでください。主張し、コミットします。仕事をする;次に、解決してコミットします。一緒に来るすべての労働者は、列がすでに主張されているのを見るでしょう。また、あなた 要求されていることがわかります。これは、デバッグと監視に役立ちます。
行を要求するときは、単に「進行中」ではなく、特徴的なもの(1つのワーカーマシンしかない場合はpid、複数ある場合はホスト名とpid)でマークする必要があります。そうすれば、労働者が死亡した場合、その後手動でクリーンアップできます。