プログラムはデータベースにアクセスして毎回 10 run_status=0 データを読み取ります。
タスクが実行されると、データベースはフィールドを更新します
run_status=-1
は、このタスクがロックされていることを示します。
もちろん、タスクの実行が完了すると、run_status=0 になり、ロックが解除されたことを示します。
ここで問題が起こります。タスクの実行時、パブリッシュ中にサーバーが突然プログラムを中断するなどの何らかの例外により、run_status=-1 は常にロック状態になります。しかし、実際には実装されていません。
次に、これが起こらないようにメカニズムを設計する必要があります。どうしますか?現在の環境ではredisが利用可能です。
この質問は単純すぎると思いました。有効期限が 60 秒のキーを設定します。このキーが存在するかどうかを毎回確認してください