alesinicio / asyncexecutor
该软件包最新版本(1.1.1)没有可用的许可信息。
1.1.1
2024-03-20 11:54 UTC
Requires
- ext-posix: *
- psr/log: ^1 || ^2 || ^3
Requires (Dev)
- phpstan/phpstan: ~0.12
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,以便在检测到不存在的脚本时中止执行,从而取消所有操作(尽管正在运行的进程不会被关闭)。