2012-12-30 112 views
4

在cron作業中運行無限循環。
假設,我寫了一個基於php的腳本,使用cron作業在我的服務器計算機上運行,​​並且我想在該php腳本中使用無限循環。
在cron作業中運行無限循環的任何想法。在cron作業中運行無限循環

+0

嗯,我真的要問爲什麼它必須是一個隱含的無限循環之前,我會在你扔100個參數爲什麼你應該避免的做法;) – dbf

回答

3

無限循環的應用程序通常被稱爲守護進程。它們是系統服務,提供某種持續處理和/或準備接受一些潛在的傳入處理活動。

Gearman是一個系統守護進程,你可以安裝比可以處理,你給它的各項任務。這是一個複雜的工具,允許許多事情,但它可以用來實現你的必需品。

PHP::Gearman是一個Gearman客戶端,與Gearman守護進程進行對話並向守護進程發送任務,指定任務必須執行的條件。因爲PHP被設計成一個無共享架構( - 它自己的數據環境下的每個頁面加載一個工作頁面加載等於一個腳本執行)

是@Jeffrey強調關於PHP的侷限性是真實的。

System Daemon也許(梨包)可以幫助克服一些或所有上述的侷限性。我沒有使用它,所以我不能告訴你更多關於它,但它是一個很好的開始任何地方。

+0

非常感謝你的解釋...其實我是新編碼n有很多麻煩......購買方式,我們可以在我的服務器計算機中使用'sleep();'來運行腳本1小時嗎? –

+0

您必須[set_time_limit()](http://php.net/manual/en/function.set-time-limit.php),因爲默認值是'30s'。在sleep()運行期間,除了希望應用程序實際上「等待」其他內容之外,您無法執行其他任何操作,因此使用'sleep()'沒什麼意義。 –