用redis設計一個機制,標記某個資料處於鎖定狀態
迷茫
迷茫 2017-06-26 10:49:39
0
1
1177

程式每次都會去資料庫讀取10個run_status=0的數據,

當一個任務執行的時候,資料庫更新欄位

run_status=-1

表示這個任務被鎖定了。

當然任務執行結束之後,run_status=0,表示已經被解除鎖定。

現在問題來了。當執行任務時,因為某種異常,例如發布的時候伺服器突然中斷程序,這時候,run_status=-1永遠都在鎖定狀態了。但是實際上並沒有在執行中。

現在你需要設計一個機制,防止這種情況的發生,你會如何做?目前環境可以使用redis。

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回覆(1)
曾经蜡笔没有小新

我發現這個問題太簡單了。設定一個key,過​​期時間為60秒即可。每次檢測這個key是否存在

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!