2012-07-31 26 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