搜尋

首頁  >  問答  >  主體

用redis設計一個機制,標記某個資料處於鎖定狀態

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

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

run_status=-1

表示這個任務被鎖定了。

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

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

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

迷茫迷茫2733 天前1247

全部回覆(1)我來回復

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-06-26 10:51:39

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

    回覆
    0
  • 取消回覆