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

在webman中使用gateway-worker,如何使用多個(gè)網(wǎng)關(guān)

pengzhen

webman中使用gateway-worker,process.php配置了多個(gè)

return [
    'game' => [
        'handler'     => BusinessWorker::class,
        'count'       => cpu_count(),
        'enable'      =>env( 'GAME_GATEWAY_PLUGIN_ENABLE' ) == 1,
        'name' =>'starflower-game-bussiness',
        'constructor' => ['config' => [
            //'eventHandler'    => plugin\webman\gateway\Events::class,
            'eventHandler'    => app\controller\RouterController::class,
            'name'            => 'starflower-game-bussiness', //配置無效
            'registerAddress' => env('GAME_REGISTER_ADDRESS'),
        ]]
    ],
    'chat' => [
        'handler'     => BusinessWorker::class,
        'count'       => cpu_count()*2,
        'enable'      =>env( 'CHAT_GATEWAY_PLUGIN_ENABLE' ) == 1,
        'name' =>'starflower-chat-bussiness',
        'constructor' => ['config' => [
            //'eventHandler'    => plugin\webman\gateway\Events::class,
            'eventHandler'    => app\controller\RouterController::class,
            'name'            => 'starflower-chat-bussiness', //配置無效
            'registerAddress' => env('CHAT_REGISTER_ADDRESS'),
        ]]
    ],

然后新建2個(gè)service,分別調(diào)用game網(wǎng)關(guān)和chat網(wǎng)關(guān)發(fā)送消息

chatService.php

use GatewayWorker\Lib\Gateway;
class ChatService extends Gateway
{
    /**
     * @var ChatService
     */
    private static $instance;
    public static $registerAddress;

    /**
     * @return ChatService
     */
    public static function get(){
        if (!self::$instance) {
            self::$registerAddress = config('plugin.webman.gateway-worker.process.chat.constructor.config.registerAddress');
            self::$instance = new self();
        }
        return self::$instance;
    }
}

gameservice.php

use GatewayWorker\Lib\Gateway;
class ChatService extends Gateway
{
    /**
     * @var ChatService
     */
    private static $instance;
    public static $registerAddress;

    /**
     * @return ChatService
     */
    public static function get(){
        if (!self::$instance) {
            self::$registerAddress = config('plugin.webman.gateway-worker.process.game.constructor.config.registerAddress');
            self::$instance = new self();
        }
        return self::$instance;
    }
}

當(dāng)使用chatservice發(fā)送消息時(shí),可能會發(fā)送給連接到game網(wǎng)關(guān)的客戶端,看代碼,可能是gateway-worker/src/Lib/Gateway.php中的tatic $addresses_cache, $last_update;緩存導(dǎo)致的。如果我想在webmen中,使用兩個(gè)注冊地址,也就是兩個(gè)網(wǎng)關(guān),該如何寫業(yè)務(wù)代碼

103 1 0
1個(gè)回答

每次調(diào)用前設(shè)置正確的 self::$registerAddress

  • 暫無評論
??