alesinicio/asyncexecutor

该软件包最新版本(1.1.1)没有可用的许可信息。

1.1.1 2024-03-20 11:54 UTC

This package is auto-updated.

Last update: 2024-09-20 13:33:42 UTC


README

这是一个简单的类,可以帮助启动CLI进程,可以是“运行后忘记”或“运行并保持运行”模式。

用法

运行后忘记

当您想要启动CLI进程并在后台运行时很有用。您将不会从进程本身得到任何返回。

基本用法

$async = new AsyncExecutor('/usr/bin/php');
$async->runProcess('path_to_script', ['param01', 'param02']);

运行并保持运行

当您想要启动CLI进程并无论发生什么都要保持它们运行时很有用。

该类会监控进程的PID以检查它们是否仍在运行,并在需要时自动重启。

基本用法

$async = new AsyncExecutor('/usr/bin/php');
$multiAsync = new AsyncMultiProcess($async);
$multiAsync->addProcess(new AsyncProcess('instance_01', 'path_to_script_01', ['param01']));
$multiAsync->addProcess(new AsyncProcess('instance_02', 'path_to_script_02', ['param02', 'param03']));
$multiAsync->keepRunningProcesses();

如果由于脚本不存在而导致进程无法执行,您可以设置类将等待的重试执行的时间(默认,5秒)。

您还可以配置AsyncMultiProcess,以便在检测到不存在的脚本时中止执行,从而取消所有操作(尽管正在运行的进程不会被关闭)。