2、添加的定时任务在当前进程执行(不会启动新的进程或者线程),如果任务很重(特别是涉及到网络IO的任务),可能会导致该进程阻塞,暂时无法处理其它业务。所以最好将耗时的任务放到单独的进程运行,例如建立一个/多个Worker进程运行
if($worker->id === 0)
{
Timer::add(1, function(){
echo "4个worker进程,只在0号进程设置定时器\n";
});
}
这个只对进程id为0有效,比如我有10个定时器,开启10个进程,怎么让每个进程运行一个定时器?
把if($worker->id === 0) 去掉就是每个进程运行一个定时器啊
是这样的~~
当前开了10个进程,已经运行5个定时器,在进程0-4运行,我从前端onMessage添加的定时器任务,怎么在进程5运行?
[attach]1275[/attach]
file:///C:\Users\zhang\AppData\Roaming\Tencent\Users\171051823\QQ\WinTemp\RichOle\3(%L9K6)8Z$H_ZUKW7WJ[7D.png
file:///C:\Users\zhang\AppData\Roaming\Tencent\Users\171051823\QQ\WinTemp\RichOle\3(%L9K6)8Z$H_ZUKW7WJ[7D.png
当浏览器调用onMessage时,并不会在新的进程运行,怎么样能在新的进程运行?