国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

gatewayWorker分離部署,啟動(dòng)報(bào)錯(cuò)

嘻嘻哈哈

gatewayWorker分離部署,啟動(dòng)報(bào)錯(cuò):Waring: Events::onMessage is not callable

我有2臺(tái)服務(wù)器,以下簡(jiǎn)稱A和B,現(xiàn)在要將業(yè)務(wù)拆開
A服務(wù)器負(fù)責(zé)Gateway和register,B服務(wù)器負(fù)責(zé)處理businessworker。

A服務(wù)器,start_gateway.php配置
截圖

A服務(wù)器,start_register.php配置
截圖

只配置了這兩個(gè),start_businessworker.php 被我刪除了。

以下是B服務(wù)器,start_businessworker.php的配置:
截圖

當(dāng)我啟動(dòng)B服務(wù)器時(shí),出現(xiàn)報(bào)錯(cuò):Waring: Events::onMessage is not callable
并且Events.php onWorkerStart方法也沒有執(zhí)行。

以上配置是按照官網(wǎng)文檔來配置的,目前兩個(gè)服務(wù)器都能互通,用的是阿里云同一地域下的服務(wù)器,比如B服務(wù)器使用內(nèi)網(wǎng)IP,連接A服務(wù)器的redis等都是正常的。

以上出現(xiàn)的問題應(yīng)該如何解決!

我在B服務(wù)器start_businessworker.php 中補(bǔ)充了以下代碼,可以執(zhí)行Events.php中的方法了,但是又遇到了通信問題。

require_once __DIR__ . '/Events.php'; 
$worker->eventHandler = 'Events'; 

Events.php中執(zhí)行了以下方法,并且成功打印。ws客戶端連接A服務(wù)器成功后,B服務(wù)器執(zhí)行的 Gateway::sendToAll("123"); 沒有任何效果,ws客戶端收不到該信息

    public static function onWorkerStart($businessWorker)
    {
        if ($businessWorker->id == 0) {
            echo "【0】進(jìn)程號(hào)".posix_getpid().PHP_EOL;
            Gateway::sendToAll("123");
        }

    }
1396 1 0
1個(gè)回答

walkor 打賞

onWorkerStart執(zhí)行的時(shí)候客戶端還沒連上呢

  • 嘻嘻哈哈 2024-01-07

    我是讓客戶端先連接上,然后重啟的B服務(wù)器,重啟時(shí)會(huì)執(zhí)行onWorkerStart??蛻舳诉B接的是A服務(wù)器,連接不會(huì)斷開

  • walkor 2024-01-08

    A B服務(wù)器也要互相連接,B服務(wù)器啟動(dòng)后onWorkerStart的時(shí)候還沒連上

  • walkor 2024-01-08

    用定時(shí)器試下

  • 嘻嘻哈哈 2024-01-08

    了解了,確實(shí)是這個(gè)問題,感謝

年代過于久遠(yuǎn),無法發(fā)表回答
??