改进模拟器重启

This commit is contained in:
zhbaor 2024-11-24 10:56:53 +08:00
parent 1352edd907
commit 94cee7063e
5 changed files with 19 additions and 11 deletions

View file

@ -217,7 +217,7 @@ class Device:
img = cv2.rotate(img, cv2.ROTATE_180)
break
except Exception as e:
logger.exception(e)
logger.debug_exception(e)
if restart_simulator():
continue
self.client.check_server_alive()
@ -237,7 +237,7 @@ class Device:
)
break
except Exception as e:
logger.exception(e)
logger.debug_exception(e)
if restart_simulator():
continue
self.client.check_server_alive()
@ -251,7 +251,7 @@ class Device:
resp = self.run(command)
break
except Exception as e:
logger.exception(e)
logger.debug_exception(e)
if restart_simulator():
continue
self.client.check_server_alive()

View file

@ -53,6 +53,11 @@ class logger:
relative_path, func_name, lineno = log_debug()
_logger.exception(f"{relative_path}:{lineno} {func_name} {msg}")
@staticmethod
def debug_exception(msg):
relative_path, func_name, lineno = log_debug()
_logger.debug(f"{relative_path}:{lineno} {func_name} {msg}", exc_info=True)
# d(ebug)hlr: 终端输出
dhlr = logging.StreamHandler(stream=sys.stdout)

View file

@ -193,6 +193,8 @@ class Scheduler(SceneGraphSolver):
logger.info(f"开始运行{next_task}")
try:
complete = solver.run()
except MowerExit:
raise
except Exception as e:
logger.exception(f"{next_task._solver_name}任务运行出错:{e}")
complete = True

View file

@ -134,22 +134,22 @@ def exec_cmd(cmd, folder_path, wait_time):
wait_time -= 1
else:
start_time = datetime.now()
device = config.device
while (datetime.now() - start_time).total_seconds() < wait_time:
try:
if device is None:
if config.device is None:
from mower.utils.device.device import Device
device = Device()
device.client.check_server_alive()
config.device = Device()
config.device.client.check_server_alive()
Session().connect()
if not config.device.check_device_screen():
raise MowerExit
if config.conf.droidcast.enable:
device.start_droidcast()
device.control.scrcpy = Scrcpy(device.client)
config.device.start_droidcast()
config.device.control.scrcpy = Scrcpy(config.device.client)
return True
except MowerExit:
raise
except Exception as e:
logger.exception(e)
csleep(5)
logger.debug_exception(e)
return False

View file

@ -105,6 +105,7 @@ class BaseSolver:
return True
exception_time = 10
except MowerExit:
logger.info("b")
raise
except Exception as e:
exception_time -= 1