package main

import (
	"../nt"
	"../utils"
	"encoding/json"
	"fmt"
	"time"
	//	"go.uber.org/zap"
)

// rpc 客户端需要连接 zk server 查询各个服务器的 rpc 地址和 redis 地址
// 根据具体的请求需求，向不同的 server 发送 rpc 请求
// TODO 动态监控各个服务器的上下线情况，动态调整，不用重启
func init_by_conf() {
	err := nt.InstInit("manager", VERSION, FileConf)
	utils.ErrPanic(err)
	nt.Wp.Put(func(time *time.Timer) {
		fmt.Println("workpool")
	})
	// 注册自己
	rawjson, err := json.Marshal(nt.InstConf)
	utils.ErrPanic(err)

	path_of_self := nt.ZkP.HTTP + "/" + nt.InstName
	err = nt.Zk.CreateEmpNode(path_of_self, rawjson)
	utils.ErrPanic(err)

	err = nt.DynConf.MonitorLobbies()
	utils.ErrPanic(err)

	// vip
	err = nt.DynConf.MonitorVip()
	utils.ErrPanic(err)
	//
	err = nt.DynConf.MonitorTurntable()
	if err != nil {
		nt.DynConf.Turntable = nt.DefaultTurnTableConf
	}
}
