wizaplace/process
Composer 安装命令:
composer require wizaplace/process
包简介
launch multi process concurrency
README 文档
README
Installation
composer require wizaplace/process
Usage
use Wizaplace\Process\AsyncProcess;
use Wizaplace\Process\MultiProcess;
use Wizaplace\Process\ProcessEvent;
use Symfony\Component\Process\Process;
$successCallback = function (Process $process, $startTime, $finishTime) {
echo $process->getOutput();
};
$processEventSuccess = new ProcessEvent(ProcessEvent::EVENT_SUCCESS, $successCallback);
$process1 = new AsyncProcess(new Process(['ls', '/tmp']));
$process1->addProcessEvent($processEventSuccess);
$process2 = new AsyncProcess(new Process(['ls', '/home']));
$process2->addProcessEvent($processEventSuccess);
$multiProcess = new MultiProcess();
$multiProcess
->addAsyncProcess($process1)
->addAsyncProcess($process2)
;
$multiProcess->run();
Using Event
event list:
- process start
- process failed
- process finish successful
use Wizaplace\Process\AsyncProcess;
use Wizaplace\Process\MultiProcess;
use Wizaplace\Process\ProcessEvent;
use Symfony\Component\Process\Process;
$successCallback = function (Process $process, $startTime, $finishTime) {
echo $process->getOutput();
};
$failedCallback = function (Process $process, $startTime, $finishTime) {
echo $process->getErrorOutput();
};
$processEventSuccess = new ProcessEvent(ProcessEvent::EVENT_SUCCESS, $successCallback);
$processEventFailed = new ProcessEvent(ProcessEvent::EVENT_FAILED, $failedCallback);
$process1 = new AsyncProcess(new Process(['ls', '/t11mp']));
$process1
->addProcessEvent($processEventSuccess)
->addProcessEvent($processEventFailed)
;
$process2 = new AsyncProcess(new Process(['ls', '/home']));
$process2
->addProcessEvent($processEventSuccess)
->addProcessEvent($processEventFailed)
;
$multiProcess = new MultiProcess();
$multiProcess
->addAsyncProcess($process1)
->addAsyncProcess($process2)
;
$multiProcess->run();
统计信息
- 总下载量: 682
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-01-28