GatewayWorker的Events.php中调用Worker::runAll()出现异常

0

如题,调用Worker::runAll(),终端运行 php start.php start 出现如下问题:
截图


代码:


截图


public static function onWorkerStart()
{
$task = new Worker();
// 开启多少个进程运行定时任务,注意业务是否在多进程有并发问题
$task->count = 1;
$task->onWorkerStart = function ($task) {
// 每2.5秒执行一次
$time_interval = 10;
Timer::add($time_interval, function () {
$data = json_encode([
'type' => 'timer',
'message' => '定时器执行ing',
]);
GateWay::sendToAll($data);
});
};

// 运行worker
Worker::runAll();
// Timer::add(10, function(){
// $data = json_encode([
// 'type' => 'timer',
// 'message' => '定时器执行ing',
// ]);
// GateWay::sendToAll($data);
// });
}

我在测试定时器,但是用worker运行就会出现这个问题,而直接使用Timer则正常
感觉在这里不应该再Worker::runAll();了,但定时器无法启动,请赐教,非常感谢


环境:
GatewayWorker版本:3.0.15
PHP:7.1.3


参照资料:http://doc2.workerman.net/timer.html

已邀请:

six

赞同来自:

根据手册,onWorkerStart里直接用timer就行了,不用new Worker

要回复问题请先登录注册