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

gatewayWorker分離部署,啟動報錯

嘻嘻哈哈

gatewayWorker分離部署,啟動報錯:Waring: Events::onMessage is not callable

我有2臺服務器,以下簡稱A和B,現(xiàn)在要將業(yè)務拆開
A服務器負責Gateway和register,B服務器負責處理businessworker。

A服務器,start_gateway.php配置
截圖

A服務器,start_register.php配置
截圖

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

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

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

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

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

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

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

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

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

    }
1605 1 0
1個回答

walkor 打賞

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

  • 嘻嘻哈哈 2024-01-07

    我是讓客戶端先連接上,然后重啟的B服務器,重啟時會執(zhí)行onWorkerStart。客戶端連接的是A服務器,連接不會斷開

  • walkor 2024-01-08

    A B服務器也要互相連接,B服務器啟動后onWorkerStart的時候還沒連上

  • walkor 2024-01-08

    用定時器試下

  • 嘻嘻哈哈 2024-01-08

    了解了,確實是這個問題,感謝

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