标签:次数 回调函数 ref process fun type echo 形式 任务任务
https://github.com/xieyong1023/MultiProcess
使用composer
composer.json
的repositories
下{
"repositories": [
{
"type": "git",
"url": "https://github.com/xieyong1023/MultiProcess.git"
}
]
}
composer require "xieyong1023/MultiProcess"
可以传入回调函数,全部任务执行完后执行
use MultiProcess\ProcessClone;
$mum = 2; // 子进程数量
$call = function () { // 任务以闭包的形式传入
sleep(5);
echo "hello";
};
$p = new ProcessClone($num, $call);
$callback = function() {
echo 'done';
};
// 指定callback,任务执行完后执行
$p->run($callback);
...
// 主进程继续执行...
上限
,接受数组
形式的任务参数,每个参数会传入给任务。任务执行次数取决于参数数组大小。可以传入回调函数,全部任务执行完后执行
use MultiProcess\ProcessClone;
$num = 3;
$call = function ($begin, $end) {
sleep(5);
echo "{$begin} ~ {$end}\n";
};
// 任务参数(索引数组) key => name 分别代码传给任务闭包的参数名、参数值
$params = [
[
'begin' => '2018-01-01',
'end' => '2018-01-02',
],
[
'begin' => '2018-01-02',
'end' => '2018-01-03',
],
[
'begin' => '2018-01-03',
'end' => '2018-01-04',
],
[
'begin' => '2018-01-04',
'end' => '2018-01-05',
],
[
'begin' => '2018-01-05',
'end' => '2018-01-06',
],
];
$p = new ProcessCloneParams($num, $call, $params);
$p->run(function() {
echo 'done';
});
...
// 主进程继续执行...
标签:次数 回调函数 ref process fun type echo 形式 任务任务
原文地址:https://www.cnblogs.com/xieyong-p/p/10785550.html