私は職場でWebチケットシステムを開発し、奇妙な問題に直面しました。
発生したすべてのチケットはmysqlテーブルに保存されます。開いているチケットは、「割り当てられた」列によって識別されます。「false」は、割り当てられていないチケットのデフォルト値です。次に、エンジニアがWebページの[チケットを取得]ボタンをクリックすると、優先度に基づいてチケットがエンジニアに割り当てられます。
ツールは完璧に機能しましたが、過去2〜3日間、チケットフローが増加したため、2〜3人のエンジニアが[チケットを取得]ボタンを同時に押して、全員に同じチケットが割り当てられる場合があります。
誰かがそのようなバグを回避するための最良の方法を教えてくれますか?
データベースをロックしようとしましたが、機能しませんでした。MySQLトランザクションを探していますが、アプリケーションの速度が低下する可能性があると思います。
何か提案を手伝ってください!