def get_arcus_zk_node_cloud_map(addr): arcus_node_cloud_map = {} zoo = zookeeper(addr) nodes = zoo.get_arcus_node_all() for node in nodes: arcus_node_cloud_map[node.ip + ":" + node.port] = node.code return arcus_node_cloud_map
def __init__(self, alarm): self.zk_addrs = arcus_zk_addrs self.zk_list = [] self.alarm = alarm for addr in self.zk_addrs: zk = arcus_util.zookeeper(addr) print('###################################################') print('### zk: %s ' % addr) print('###################################################') zk.load_all() print(zk) print('\n\n\n\n') zk.watch(self.watch_callback) self.zk_list.append(zk)
def __init__(self, alarm): self.zk_addrs = arcus_zk_addrs self.zk_list = [] self.alarm = alarm for addr in self.zk_addrs: zk = arcus_util.zookeeper(addr) zk.load_all() print("###################################################") print("### zk: %s " % addr) print("###################################################") print(zk) print("\n\n\n\n") zk.watch(self.watch_callback) self.zk_list.append(zk)
def get_zk_load_all(addr): global arcus_zk_cache if addr not in arcus_zk_cache: zoo = zookeeper(addr) zoo.load_all() arcus_zk_cache[addr] = [zoo, time.time()] # always in zoo, last_ts = arcus_zk_cache[addr][0], arcus_zk_cache[addr][1] ts = time.time() if ts - arcus_zk_cache[addr][1] > 60*30: # refresh every 30mins arcus_zk_cache[addr][1] = ts threading.Thread(target=zk_load_background, args=(addr,)) return zoo
def _node_cloud_map_init(self, addr): zoo = zookeeper(addr) nodes = zoo.get_arcus_node_all() for node in nodes: self.node_cloud_map[node.ip + ":" + node.port] = node.code
def get_arcus_zk_load_all(addr): zoo = zookeeper(addr) zoo.load_all() return zoo
def zk_load_background(addr): global arcus_zk_cache zoo = zookeeper(addr) zoo.load_all() arcus_zk_cache[addr] = (zoo, time.time())