同一个项目启动两个GatewayWorker实例,但是两个实例都是执行的同一个Events.php

nbyang

同一个项目启动两个GatewayWorker实例,
端口确定无冲突进程都跑起来了无报错,
但是两个实例都是执行的同一个Events.php
截图

两个不同的Events.php分别在onWorkerStart输出 都是同一个
tcp连接后进入的也都是同一个Events.php的业务中
截图

补充运行环境是debian11 php82

截图
截图

466 1 0
1个回答

walkor

截图下两个start_businessworker.php

  • nbyang 2023-09-07

    截图编辑在主楼了

  • walkor 2023-09-07

    把其中一个Events.php改下文件名和类名,在start_businessworker里指定下类名
    $worker->eventHandler = 'MyEvent';

  • nbyang 2023-09-07

    尝试过了, 不管是否添加命名空间都会提示: Waring: \application\XDv1_4G\MyEvents::onMessage is not callable 或者Waring: MyEvents::onMessage is not callable

  • walkor 2023-09-07

    看下composer.json 里自动加载怎么写的,如果不会写就手动require进去

  • nbyang 2023-09-07

    "psr-4": {
    "" : "./",
    "" : "./Applications/XDv1_4G",
    "" : "./Applications/XDv1_WAN"
    }

  • nbyang 2023-09-07

    手动require进去OK了

🔝