/** * 连接上服务器回调 */ public static function onConnect() { try { /** * 注册服务器 */ $rs = self::$rpc->Reg(self::$host); if ($rs) { # 返回成功 self::$host->key = $rs->key; self::$host->ip = $rs->ip; self::$host->id = $rs->id; if (is_array($rs->hosts) && $rs->hosts) { foreach ($rs->hosts as $host) { /** * @var Host $host */ $host->save(); } } # 保存数据, 其它 worker 进程就可以使用了 self::$host->save(); # 更新时间 Host::$lastChangeTime->set(time()); \MyQEE\Server\Server::$instance->info('register clusters host group: ' . self::$host->group . '#' . self::$host->id . '(' . self::$host->ip . ':' . self::$host->port . ') success.'); } else { throw new \Exception('result error.'); } } catch (\Exception $e) { \MyQEE\Server\Server::$instance->warn('register clusters host(' . self::$host->ip . ':' . self::$host->port . ') fail. ' . $e->getMessage()); } }