1

所以,这就是我想要做的 - 实际上非常不言自明:

  • 启动 X 个“同时”进程(每个进程绑定到不同的 php 脚本)
  • 能够说他们什么时候都完成了

我看过各种不同的方法,我可能会使用exec后台进程。(沿着这些思路)。

事情 - 我真的无法理解 - 是:

我不知道哪种方法是检查所有进程是否已完成的最有效方法 (能够密切关注总体进度 - 例如,Y 中的 X 已完成,也是必须的)

重要的是时间效率,并且 - 显然 - 不会导致任何不必要的服务器过载(所以,我认为任何“冻结”while循环检查 live pids,即使是间隔,也是不可能的,对吧?)

非常欢迎任何建议!


PS:我最初使用从客户端开始的异步 Ajax 请求来设置这一切,但我目前正在考虑迁移到非 JavaScript 完全服务器端环境。并行处理的问题仍然存在......

4

1 回答 1

3

您应该调查 pcntl_fork 和相关函数。这允许一个主进程形成多个子进程并通知子进程退出状态。

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

于 2012-07-31T19:17:30.577 回答