問(wèn)題說(shuō)明:
1、基于 GatewayWorker 框架
2、項(xiàng)目里沒(méi)有 Events.php ,沒(méi)有 BusinessWorker,只有一個(gè)獨(dú)立的 start_xxxworker.php 文件,封裝一個(gè)獨(dú)立功能的worker,對(duì)內(nèi)監(jiān)聽(tīng)一個(gè)6000端口
3、本項(xiàng)目部署在一臺(tái)單獨(dú)的服務(wù)器上,其他服務(wù)器程序通過(guò) AsyncTcpConnection('tcp://127.0.0.1:6000') 與該項(xiàng)目通訊
-------------------------- start_xxxworker.php 代碼開(kāi)始 ----------------------------
$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 結(jié)束 ----------------------------
問(wèn)題是:
修改 start_xxxworker.php 里的 onMessage 方法內(nèi)代碼并重新部署后,可以看到服務(wù)器執(zhí)行了Workerman reloading,但是程序修改并未生效。
請(qǐng)問(wèn)有什么辦法,使修改 onMessage 內(nèi)代碼后,reload 生效?
不想使用多個(gè) Gateway,以及多個(gè) Events。
謝謝