func (ns *numbers) init(path string) { ns.tables = make(map[string]*table) kapi := etcdclient.KeysAPI() resp, err := kapi.Get(context.Background(), path, nil) if err != nil { log.Error(err) return } // 解码xlsx xlsx_bin, err := base64.StdEncoding.DecodeString(resp.Node.Value) if err != nil { log.Critical(err) return } // 读取xlsx xlsx_reader, err := xlsx.OpenBinary(xlsx_bin) if err != nil { log.Critical(err) return } ns.parse(xlsx_reader.Sheets) }
func (s *server) init() { s.client_pool = make(chan etcd.KeysAPI, CONCURRENT) s.ch_proc = make(chan chan uint64, UUID_QUEUE) // init client pool for i := 0; i < CONCURRENT; i++ { s.client_pool <- etcdclient.KeysAPI() } // check if user specified machine id is set if env := os.Getenv(ENV_MACHINE_ID); env != "" { if id, err := strconv.Atoi(env); err == nil { s.machine_id = (uint64(id) & MACHINE_ID_MASK) << 12 log.Info("machine id specified:", id) } else { log.Critical(err) os.Exit(-1) } } else { s.init_machine_id() } go s.uuid_task() }