引数stopで使用停止処理とシャットダウンを同時に行えるように
This commit is contained in:
parent
ab7147ffde
commit
78114d3f04
1 changed files with 20 additions and 7 deletions
|
@ -234,8 +234,8 @@ class Monitor():
|
|||
monitor_thread = threading.Thread(target=self.run)
|
||||
monitor_thread.start()
|
||||
|
||||
def signal_handler(self, signum, frame):
|
||||
print("シャットダウンを検出。")
|
||||
def signal_handler(self):
|
||||
print("停止処理を実行。")
|
||||
stop_url = client_config["auth_host_url"] + "/stop"
|
||||
stop_json = {
|
||||
"pc_number": int(client_config["pc_number"])
|
||||
|
@ -244,13 +244,18 @@ class Monitor():
|
|||
responce = requests.post(stop_url, json=stop_json)
|
||||
if responce.status_code == 200:
|
||||
print("停止処理は成功しました。")
|
||||
self.exit()
|
||||
else:
|
||||
print("内部エラーにより停止処理に失敗しました。")
|
||||
result_msgbox = tkinter.messagebox.showwarning(title=f"{app_name} | エラー", message=f"内部エラーにより停止処理に失敗しました。\nDiscordサーバーの指示に従って、停止処理を自身で行ってください。")
|
||||
except:
|
||||
print("ネットワークエラーにより停止処理に失敗しました。")
|
||||
result_msgbox = tkinter.messagebox.showwarning(title=f"{app_name} | エラー", message=f"ネットワークエラーにより停止処理に失敗しました。\nDiscordサーバーの指示に従って、停止処理を自身で行ってください。")
|
||||
finally:
|
||||
sys.exit()
|
||||
self.shutdown()
|
||||
|
||||
def shutdown(self):
|
||||
logout_command = subprocess.run(['shutdown', '/s', '/t', '1'])
|
||||
|
||||
|
||||
def run(self):
|
||||
signal.signal(signal.SIGTERM, self.signal_handler)
|
||||
|
@ -296,6 +301,14 @@ if client_config["initial"] == 1:
|
|||
|
||||
else:
|
||||
if __name__ == '__main__':
|
||||
app = App()
|
||||
app.protocol("WM_DELETE_WINDOW", app.handler_close)
|
||||
app.mainloop()
|
||||
args = sys.argv
|
||||
if len(args) >= 2:
|
||||
if args[1] == "stop":
|
||||
monitor = Monitor()
|
||||
monitor.signal_handler()
|
||||
else:
|
||||
print("引数エラー。")
|
||||
else:
|
||||
app = App()
|
||||
app.protocol("WM_DELETE_WINDOW", app.handler_close)
|
||||
app.mainloop()
|
||||
|
|
Loading…
Reference in a new issue