diff --git a/src-python/mainloop.py b/src-python/mainloop.py index 0515a011..b44469f9 100644 --- a/src-python/mainloop.py +++ b/src-python/mainloop.py @@ -358,8 +358,11 @@ class Main: self.main_loop = True def receiver(self) -> None: - while True: + while self.main_loop: received_data = sys.stdin.readline().strip() + if not received_data: + time.sleep(0.1) + continue received_data = json.loads(received_data) if received_data: @@ -441,11 +444,13 @@ if __name__ == "__main__": main.start() case "test": - for _ in range(100): - time.sleep(0.5) - endpoint = "/get/data/mic_host_list" - result, status = main.handleRequest(endpoint) - printResponse(status, endpoint, result) + endpoint = "/set/enable/translation" + result, status = main.handleRequest(endpoint) + printResponse(status, endpoint, result) + endpoint = "/run/send_message_box" + data = {"id":"123456", "message":"テスト"} + result, status = main.handleRequest(endpoint, data) + printResponse(status, endpoint, result) case "test_all": import time @@ -647,4 +652,5 @@ if __name__ == "__main__": result, status = main.handleRequest(endpoint, data) printResponse(status, endpoint, result) - time.sleep(0.5) \ No newline at end of file + time.sleep(0.5) + main.stop() \ No newline at end of file diff --git a/src-python/models/osc/osc.py b/src-python/models/osc/osc.py index a47f1f8d..3e56fc0e 100644 --- a/src-python/models/osc/osc.py +++ b/src-python/models/osc/osc.py @@ -118,15 +118,17 @@ class OSCHandler: self.osc_server = osc_server.ThreadingOSCUDPServer((self.osc_server_ip_address, self.osc_server_port), osc_dispatcher) Thread(target=self.oscServerServe, daemon=True).start() - while True: - try: - self.osc_query_service = OSCQueryService(self.osc_query_service_name, self.http_port, self.osc_server_port) - for filter, target in self.dict_filter_and_target.items(): - self.osc_query_service.advertise_endpoint(filter, access=OSCAccess.READWRITE_VALUE) - break - except Exception: - errorLogging() - sleep(1) + def startOSCQueryService(): + while True: + try: + self.osc_query_service = OSCQueryService(self.osc_query_service_name, self.http_port, self.osc_server_port) + for filter, target in self.dict_filter_and_target.items(): + self.osc_query_service.advertise_endpoint(filter, access=OSCAccess.READWRITE_VALUE) + break + except Exception: + errorLogging() + sleep(1) + Thread(target=startOSCQueryService, daemon=True).start() def oscServerServe(self) -> None: # ポーリング間隔を長くして(2秒から10秒に)CPUの使用率を削減