我有一個cron作業每隔幾分鐘運行一次,通過「待辦事項」列表中的前50個項目,在每個項目上運行腳本並將其標記爲運行在數據庫中。如何確保sql表未鎖定/停止併發crons
這一直很好,直到表中標記爲完成的物品被物品鎖定並且物品沒有被標記爲關閉。然後,克倫再次跑過去,並通過相同的50件物品。
這樣重複和重複,直到mysql中的進程列表非常龐大,並且每隔幾分鐘只能增加50個。
我怎麼能停止這種事情? 我的想法是:
- 將代碼添加到腳本來查看正在運行的新的選擇查詢,以獲得未來50之前,如果cron是爲被鎖定的表重新運行
- 檢查MySQL表之前仍在運行物品
他們都似乎起起落落,我不知道如何正確實施。 任何人有任何建議/更好的想法?
將鎖定文件添加到更新shell腳本中。 1)檢查是否存在鎖定:退出其他創建鎖定2)做功3)刪除鎖定 – wildplasser 2013-03-20 17:47:35