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

workerman reload 重啟 遇到Channel不能正常工作問題

美麗的角落

問題描述

workerman reload

本人使用的是Events事件靜態(tài)回調(diào),在OnWorkerStart集合了Channel服務(wù)connect(),reload重啟workerman,進(jìn)程什么的也依次拉起,channel也經(jīng)過(guò)兩次try connect進(jìn)行拉起,但是就接收數(shù)據(jù)而言,OnMessage 依然接收正常,而channel不管是用訂閱還是隊(duì)列,都不能發(fā)送與消費(fèi),除非客戶端重新建立鏈接。
求問各位有沒有相關(guān)的解決方案,拜謝!

程序代碼

public static function onWorkerStart(BusinessWorker $businessWorker)
    {
                    ChannelClient::connect(config('wk.channel.ip'),config('wk.channel.port'));
        self::TimerWorker($businessWorker);
    }

public static function onMessage(string $clientId,  $messageJson)
{
       // 隊(duì)列
        ChannelClient::enqueue(self::$queue.$clientId, $messageJson);
        // 訂閱
        // ChannelClient::publish(self::$queue.$clientId, $messageJson);
    }

 public static function onWebSocketConnect(string $clientId, $data)
    {
        $query_string = $data['server']['QUERY_STRING'];
        $data = self::checkParamsURI($query_string);
        if(empty($query_string) || empty($data['params']['sn']))
        {
            Gateway::closeClient($clientId);
            return false;
        }

        Gateway::bindUid($clientId, $data['params']['sn']);
        $_SESSION[$clientId] = $data['params']['sn'];

        $yun = config('stt_cn.STT_CN.wsUri').'?'.$data['query_string'];
        $ws_connection = new AsyncTcpConnection($yun);
        $ws_connection->WebsocketPingInterval = 10;
        $ws_connection->websocketType = Websocket::BINARY_TYPE_ARRAYBUFFER;//BINARY_TYPE_ARRAYBUFFER BINARY_TYPE_BLOB
        $ws_connection->onConnect = function($connection){
            // $connection->keepConnection = true;
        };
        $ws_connection->onWebSocketConnect = function(AsyncTcpConnection $con, $responce) use($clientId){

            $event_name = self::$queue.$clientId;
            ChannelClient::watch($event_name, function($data) use ($clientId, $con) {
                $con->send($data);
            });
        };
        $ws_connection->onMessage = function($connection, $data) use($clientId){

            self::sendMessage( $data, $clientId);
        };
        $ws_connection->onError = function($connection, $code, $msg) use($clientId){

            self::log(__FUNCTION__, $code, $msg);
        };
        $ws_connection->onClose = function($connection) use($clientId){

        };
        $ws_connection->connect();
        // self::$ws_server = $ws_connection;

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

walkor 打賞

這個(gè)要自己詳細(xì)打日志,別人沒環(huán)境幫不上

  • 暫無(wú)評(píng)論
年代過(guò)于久遠(yuǎn),無(wú)法發(fā)表回答
??