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

发布于 2022-09-12 02:38:22 字数 1286 浏览 15 评论 0

image.png

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

我在测试定时器,但是用worker运行就会出现这个问题,而直接使用Timer则正常

环境:
GatewayWorker版本:3.0.15
PHP:7.1.3

参照资料:http://doc2.workerman.net/tim...

附代码:

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);
        // });
    }

请赐教,非常感谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文