2013-08-21 85 views
0

我需要編寫一個cron(php)腳本來從多個網站獲取html結果。async PHP cron job?可能嗎?

假設我的數據庫有50個網站記錄(即http://www.somewebsite.com/page.php)。所以cron工作將被設置爲每x分鐘運行一次。當它運行時,它會從數據庫加載記錄,檢查每個網站的狀態,然後從中獲取HTML結果,然後對其進行分析。

我擔心的是,如果第n條記錄的網站沒有迴應,或者需要一些時間來加載(即海外網站),那麼n + 1的記錄將不會運行,直到第n記錄完成後,該cron作業將需要一段時間才能完成。

如果我在瀏覽器上執行腳本,那麼可以通過使用ajax異步來輕鬆處理腳本,但它是一個cron作業,所以我不知道如何處理這種情況。

+0

Cron作業已經是異步的。 – cdhowie

+0

你能解釋一下嗎?如果我的cron.php正在運行,並且如果第20行是假設獲取網站html,那麼它如何執行第21行而不完成第20行正在做什麼? – Josh

+1

我認爲你很混淆術語。 Cron作業是異步執行的。您正在詢問如何在* PHP中放置*的異步HTTP請求,這與Cron完全沒有任何關係。充其量,你的問題還不清楚。 – cdhowie

回答

0

以下是您可以做的, 從crontab運行sh腳本,並在腳本調用.php程序中處理異步任務。

0

我認爲如果需要'異步',最好轉移到其他語言。這是您如何創建整個系統架構的重大升級。所以這對任何PHP開發人員來說都是一次重大升級,因爲我在PHP中花費了大量時間,並且正在研究NodeJS以獲得更好的解決方案儘管引入了'Aync'這個術語,但PHP並不支持內部或核心的這種需求。