PHP无需等待响应即可运行后台作业非阻塞模式与触发类型类似

Bab*_*abu 6 php curl asynchronous nonblocking yii2

目的

我的基本目标是使用Yii2 Web应用程序在PHP中实现异步触发器

我需要运行php批处理作业,但我不想在浏览器/ cron中等待完成这项工作.为了运行作业,我需要使用我的应用程序的不同文件

http://myapp/foojob.php 
Run Code Online (Sandbox Code Playgroud)

foojob.php应该异步调用许多php实例[每个实例承载一个作业]基于手头的可用工作.调用的时间限制(foojob.php)小于60sec.i需要在超过超时值之前触发新的php实例.

我提到并尝试过

  1. curl_multi - 我找不到非阻塞模式.
  2. fsock_open - 这可以通过发送Connection:Close to the call(但是fsock open在许多共享主机服务器上并不总是可用或它无法正常工作).你能建议我使用fsock传输的可靠解决方案吗?
  3. pcntl_exec -I还没有实时尝试,但实时统计显示45%的服务器禁用了该功能.我不知道原因.
  4. 流运 - 我不知道它是如何工作的?

我的问题:

  1. 非阻塞异步请求是否有任何可能的解决方案已经存在于git中以实现PHP?
  2. 如果我需要调查任何其他运输,请转介我
  3. 是否存在基于环境的智能切换传输机制(curl/fsock)?

编辑:

该应用程序是自托管产品.它将得到各种托管服务的工作.共享主机不允许/为其客户提供任何外部扩展.

Bab*_*abu 0

我为非阻塞后台作业编写了一个 php 库。这个图书馆将有助于实现我发布的目标

Composer 库 https://packagist.org/packages/devbauind/non-blocking-php