2012-07-31 52 views
1

所以,這就是我想要做的事 - 不言自明實際上:並行執行多個PHP腳本,並在結束時被通知

  • 啓動X「同步」的過程(每個綁定到不同的PHP腳本)
  • 可以說,當個個的完成

我看了一下各種不同的方法,而我可能會使用exec和後臺進程。 (沿着these lines的東西)。

的事情 - 我真的不能左右我的頭 - 是:

我想不通這是最有效的方法來檢查是否所有的工序都完成(即能夠關注一般進展 - 例如X完成Y,也是必須的)

什麼是重要的是時間效率,並且顯然不會造成任何不必要的服務器過載(所以,我想任何'凍結'循環檢查實時pid s,即使間隔,是不可能的,對吧?)

任何建議都非常歡迎!


PS:我已經初步確定這件事了從客戶端開始異步Ajax請求,但我目前正在考慮遷移到非JavaScript全服務器端環境。並行處理的問題仍然存在...

回答

3

您應該調查pcntl_fork及相關函數。這允許一個主進程形成多個子進程並被通知子退出狀態。

http://php.net/manual/en/function.pcntl-fork.php

+1

麥克說,分叉是迄今爲止最好的選擇。我很久以前就寫了一篇關於這方面的文章,可以使用示例代碼。我用它發送了一大串帶分號的文本消息,但你可以用它來做你正在做的事情:http://jservedio.com/article/3 – Jack 2012-07-31 21:23:26