Worker进程初始化

CatMicro采用的是Swoole的多进程模型,因此每个Worker进程都需要在进程创建的时候进行初始化操作,用于定义全局静态变量、初始化组件等。这些初始化操作需要在主Callback类中的onWorkerStart回调当中执行。

    /**
     * 进程初始化回调, 用于初始化全局变量
     * @param \swoole_websocket_server $server
     * @param $workerId
     */
    public function onWorkerStart($server, $workerId)
    {

    }

初始化连接池

CatMicro的各个连接池需要在onWorkerStart中初始化,才能在Service中被调用。

    public function onWorkerStart($server, $workerId)
    {
        PoolManager::getInstance()->init('mysql_master');
        PoolManager::getInstance()->init('redis_master');
    }

初始化单例

程序中需要使用的单例模型可以放在这里进行初始化,以便后续调用

    public function onWorkerStart($server, $workerId)
    {
        Test::getInstance()->init();
    }

results matching ""

    No results matching ""