php - 并行执行多个 PHP 脚本,并在完成时收到通知

标签 php multithreading parallel-processing exec

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

  • 启动 X 个“同时”进程(每个进程绑定(bind)到不同的 php 脚本)
  • 可以说什么时候全部完成

  • 我已经查看了各种不同的方法,我可能会使用 exec和后台进程。 (沿 these lines 的东西)。

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

    我想不通这是检查所有进程是否已完成的最有效方法 (能够密切关注总体进展 - 例如,Y 中的 X 已完成,也是必须的)。

    重要的是时间效率,并且 - 显然 - 不会导致任何不必要的服务器过载(所以,我想任何“卡住” while 循环检查实时 pid s,即使是间隔,也是不可能的,对?)

    非常欢迎任何建议!

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

    最佳答案

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

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

    关于php - 并行执行多个 PHP 脚本,并在完成时收到通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11747304/

    相关文章:

    java - 并行计算加速

    java - 在 Maven 上按顺序强制进行集成参数化测试

    c++ - C++ 中的多线程事件处理

    php - MySQL如何向多个表插入数据?

    php - 在循环中或不在循环中实例化一个新类?

    php - Mysql查询mysql_fetch_array

    wpf - 如何在没有 DoEvents 的情况下取消 WPF 中的 BackgroundWorker

    java - Java并发性–立即关闭线程池

    java - 如何使用 java 8 Streams 同时或并行运行 3 个方法

    php - 通过 PHP 执行 shell 命令?