独立 worker 文件,修改 onMessage 内代码后,reload 无法生效

readingtong

问题说明:

1、基于 GatewayWorker 框架

2、项目里没有 Events.php ,没有 BusinessWorker,只有一个独立的 start_xxxworker.php 文件,封装一个独立功能的worker,对内监听一个6000端口

3、本项目部署在一台单独的服务器上,其他服务器程序通过 AsyncTcpConnection('tcp://127.0.0.1:6000') 与该项目通讯

-------------------------- start_xxxworker.php 代码开始 ----------------------------

$worker = new Worker("tcp://127.0.0.1:6000");
$worker->name = 'MyWorker';
$worker->count = 4;
$worker->registerAddress = '127.0.0.1:1238';
$worker::$stdoutFile = 'workerman.log';

//初始化方法
$worker->onWorkerStart = function($worker){
    .....
};

//接收到消息
$worker->onMessage = function($connection, $message){
  .....
};

if(!defined('GLOBAL_START')) {
    Worker::runAll();
}

-------------------------- start_xxxworker.php 结束 ----------------------------

问题是:
修改 start_xxxworker.php 里的 onMessage 方法内代码并重新部署后,可以看到服务器执行了Workerman reloading,但是程序修改并未生效。

请问有什么办法,使修改 onMessage 内代码后,reload 生效?

不想使用多个 Gateway,以及多个 Events。

谢谢

3587 1 0
1个回答

readingtong

已经找到解决方法,参考:
http://wenda.workerman.net/?/question/1988

  • 暂无评论
年代过于久远,无法发表回答
🔝