diff --git a/py12306/app.py b/py12306/app.py index 00fc906..1f37ddd 100644 --- a/py12306/app.py +++ b/py12306/app.py @@ -33,11 +33,11 @@ class App: @classmethod def run(cls): self = cls() + self.register_sign() self.start() def start(self): Config().run() - for sign in [signal.SIGINT, signal.SIGHUP, signal.SIGTERM]: signal.signal(sign, self.handler_exit) self.init_class() @classmethod @@ -54,6 +54,15 @@ class App: if Config.is_cluster_enabled(): Cluster().run() + def register_sign(self): + is_windows = os.name == 'nt' + signs = [signal.SIGINT, signal.SIGHUP, signal.SIGTERM] + if is_windows: + signs = [signal.SIGINT, signal.SIGTERM] + for sign in signs: + signal.signal(sign, self.handler_exit) + + pass def handler_exit(self, *args, **kwargs): """ 程序退出 diff --git a/py12306/user/job.py b/py12306/user/job.py index e24cc28..5d8953e 100644 --- a/py12306/user/job.py +++ b/py12306/user/job.py @@ -92,7 +92,7 @@ class UserJob: UserLog.add_quick_log(message).flush() else: self.cluster.publish_log_message(message) - self.set_last_heartbeat() + # self.set_last_heartbeat() def get_last_heartbeat(self): if Config().is_cluster_enabled(): @@ -157,6 +157,7 @@ class UserJob: is_login = response.json().get('data.flag', False) if is_login: self.save_user() + self.set_last_heartbeat() # self.get_user_info() # 检测应该是不会维持状态,这里再请求下个人中心看有没有用,01-10 看来应该是没用 return is_login