<?php
echo 'start:' . date("Ymd H:i:s");
$urls = [
'http://www.baidu.com',
'http://www.sina.com.cn',
'http://www.qq.com',
];
for ($i = 0; $i < 3; $i++) {
//子进程 use用于传值
$process = new swoole_process(function (swoole_process $worker) use ($i, $urls) {
//curl处理
$content = curlData($urls[$i]);
//因为下面参数是true所以会输出到管道里
echo $content . PHP_EOL;
}, true);
$pid = $process->start();
$wokers[$pid] = $process;
}
foreach ($wokers as $process) {
echo $process->read();
}
function curlData($url)
{
//模拟消耗1秒
sleep(1);
return $url . "success" . PHP_EOL;
}
echo 'end:' . date("Ymd H:i:s");
