1
我有一個後端爲作業池數據庫。爲了便於系統加速,我希望多個後端輪詢數據庫以獲得作業。獲取第一個解鎖行
工作表: 作業ID,日期,動作,完成
有人告訴我,這應該與行鎖定來完成。後端將執行SELECT ... LIMIT 1 FOR UPDATE;
但是,經過一些測試後,選擇不會跳過鎖定行,並會阻塞,直到該行解鎖。
如果有辦法獲得第一個解鎖的行(與FOR UPDATE)?
謝謝。
我有一個後端爲作業池數據庫。爲了便於系統加速,我希望多個後端輪詢數據庫以獲得作業。獲取第一個解鎖行
工作表: 作業ID,日期,動作,完成
有人告訴我,這應該與行鎖定來完成。後端將執行SELECT ... LIMIT 1 FOR UPDATE;
但是,經過一些測試後,選擇不會跳過鎖定行,並會阻塞,直到該行解鎖。
如果有辦法獲得第一個解鎖的行(與FOR UPDATE)?
謝謝。
我假設你以某種方式標記行,以顯示某些後端作業正在處理它。如果是這樣,你可以遵循這樣的程序: