2011-01-13 142 views
0

我正在運行一個捲曲腳本,它執行數據挖掘;因爲它貫穿全部日期大約需要600秒。所以我想,如果我用兩個或三個或其他...線程分割負載,我可以再分割600秒。PHP - 運行exec多個php文件

有什麼建議嗎?

我知道這樣做的一種方法是通過Windows調度程序,我可以讓它執行多個文件;但理想情況下,我希望讓Windows調度程序執行(即php-cgi thefilename.php)一個單獨的文件,並讓其中一個執行多個。

有什麼建議嗎? THANKs,

+0

線程不是一個神奇的「讓我的電腦更快」的子彈。你不能只添加另一個線程,並且可靠地花一半時間來完成某件事情。 – 2011-01-13 00:14:04

+1

是的,但很多時候都在等待請求返回 - 沒有CPU使用率,但線程被阻塞,所以啓動其他線程很有意義。 – Hamish 2011-01-13 00:16:19

+0

你推薦的任何建議?加載時間基於各種頁面上的cURL運行掃描,每個頁面都需要花費時間。所以我希望能夠通過他們自己的進程(使用php-cgi/php.exe)運行*即*三個「機器人」 – mike 2011-01-13 00:16:24

回答

0

不是真的回答你的問題,但一個解決方案。您可以創建一個批處理文件,如下所示:

start php-cgi thefilename.php 
start php-cgi thefilename.php 
start php-cgi thefilename.php 

這將創建三個獨立的線程。

1

如果你被困在windows上,即你沒有pcntl擴展名,我建議使用curl_multi_*來異步執行多個請求。如果您的瓶頸是服務器延遲,這是獲得更多性能的好方法。