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());
}
}