修复 windows 下 signal.SIGHUP 错误

This commit is contained in:
Jalin
2019-01-12 11:08:38 +08:00
parent a0f2bc7913
commit cb4fd195a1
2 changed files with 12 additions and 2 deletions

View File

@@ -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):
"""
程序退出

View File

@@ -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