2011-04-10 116 views
1

HEJ研究員,由cron不會終止

我正嘗試通過cron運行PHP腳本調用PHP腳本,一切似乎除了我的腳本結束才能正常工作。看起來腳本沒有終止,當它完成它的工作時,當我多次調用cronjob後登錄時,服務器非常慢,並且由於連接太多,mysql阻止了我。 PHP不退出,這個過程卡住了... 關於如何解決這個問題的任何建議?

+5

請解釋一下代碼的作用,如果可能的話,包括它,因爲我們可以猜測沒有 – BugFinder 2011-04-10 10:11:00

回答

1

這聽起來像你正在PHP腳本中運行資源昂貴和/或耗時的查詢。可能發生的情況是,在你的下一個cron運行之前,以前的查詢沒有完成,這使得機器很快耗盡了所有可用資源,導致服務器停止運行。

您應該研究某種鎖定文件機制,以確保只有最後一個成功完成時纔會執行新的查詢。

+0

姆姆,似乎既不是,我得到了大量的RAM,腳本「只」需要大約40分鐘執行,該cron本身被稱爲每4個houres。實際上腳本會收到一堆feed並解析它們,然後將這些項目部分保存到本地mysql數據庫中。當我自己運行腳本時(通過「php myscript.php」),一切似乎都工作得很好:( – 2011-04-10 12:49:38