我有一個php腳本文件,每30秒運行一次cron作業並運行幾分鐘。我想限制它,所以只有最大數量的X實例可以同時運行,因此如果腳本的X數量已經運行,新啓動的腳本將退出,並且當一個或多個運行腳本完成下一個cron時然後才能成功啓動腳本。php腳本可以從cron運行的實例數量有限
我發現了一些關於這方面的信息,但主要是限制爲只有一個實例,就像一個互斥體。所以我想在我可以使用什麼樣的解決方案來實現我所需要的,這裏有一些想法我有:
- 使用MySQL數據庫跟蹤腳本執行
- 保存的PID到文件,刪除PID當劇本完成
- 運行簡單的PS + grep命令
林向使用ps命令方法靠在因爲似乎是代碼的更容易。有人知道更好的方法嗎?
你是如何運行的,每30秒時的cron只支持粒度到分鐘?你能談談你實際上想要達到什麼嗎?因爲這種方法可能會避免altoghether。 –
爲什麼不爲每個實例創建一個文件?例如,我最多隻需要一個實例。我創建了一個文件。當cron開始時 - 如果文件存在 - 不運行任務。如果不存在 - 創建文件,運行任務,刪除文件。 –