From 1a617db658e261d3cf977e9021a1eb35ad96e1eb Mon Sep 17 00:00:00 2001 From: spirithy Date: Mon, 21 Jan 2019 00:10:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=BF=E7=94=A8expire=E5=88=A4=E6=96=AD?= =?UTF-8?q?=E8=8A=82=E7=82=B9=E4=B8=8B=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + py12306/cluster/cluster.py | 7 +++---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index b75d241..d8c86dd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .idea +.vscode .DS_Store venv __pycache__ diff --git a/py12306/cluster/cluster.py b/py12306/cluster/cluster.py index d6aa784..aafe4eb 100644 --- a/py12306/cluster/cluster.py +++ b/py12306/cluster/cluster.py @@ -25,7 +25,7 @@ class Cluster(): KEY_USER_COOKIES = KEY_PREFIX + 'user_cookies' KEY_USER_INFOS = KEY_PREFIX + 'user_infos' KEY_USER_LAST_HEARTBEAT = KEY_PREFIX + 'user_last_heartbeat' - KEY_NODES_ALIVE = KEY_PREFIX + 'nodes_alive' + KEY_NODES_ALIVE_PREFIX = KEY_PREFIX + 'nodes_alive_' KEY_CDN_AVAILABLE_ITEMS = KEY_PREFIX + 'cdn_available_items' KEY_CDN_LAST_CHECK_AT = KEY_PREFIX + 'cdn_last_check_at' @@ -185,9 +185,8 @@ class Cluster(): 检查节点是否存活 :return: """ - alive = self.session.hgetall(self.KEY_NODES_ALIVE) for node in self.nodes: - if node not in alive or (time_int() - int(alive[node])) > self.lost_alive_time: + if not self.session.exists(self.KEY_NODES_ALIVE_PREFIX + node): self.left_cluster(node) # def kick_out_from_nodes(self, node_name): @@ -197,7 +196,7 @@ class Cluster(): while True: if self.node_name not in self.get_nodes(): # 已经被 kict out 重新加下 self.join_cluster() - self.session.hset(self.KEY_NODES_ALIVE, self.node_name, str(time_int())) + self.session.set(self.KEY_NODES_ALIVE_PREFIX + self.node_name, Config().NODE_IS_MASTER, ex=self.lost_alive_time) stay_second(self.keep_alive_time) def subscribe(self):