diff --git a/clound_print.py b/clound_print.py index f61c247..0a2b2ce 100644 --- a/clound_print.py +++ b/clound_print.py @@ -18,46 +18,6 @@ from config import print_data_dir from general import is_run_local_data -def find_free_display(): - """ - 寻找一个可用的显示编号。 - 从 99 开始尝试,最大尝试到 199。 - """ - display_num = 99 - max_attempts = 100 # 最大尝试次数,避免无限循环 - - for attempt in range(max_attempts): - display = f":{display_num}" - lock_file = f"/tmp/.X{display_num}-lock" - - # 检查锁文件是否存在 - if os.path.exists(lock_file): - print(f"显示设备 {display} 被锁定,尝试下一个...") - display_num += 1 - continue - - # 尝试启动一个短暂的Xvfb进程来测试端口是否真的空闲 - test_proc = subprocess.Popen( - ["Xvfb", display, "-screen", "0", "1x1x1"], - stdout=subprocess.DEVNULL, - stderr=subprocess.PIPE - ) - sleep(0.5) # 稍等片刻 - - # 如果进程很快结束了,通常意味着启动失败(可能是端口被占用或其他错误) - return_code = test_proc.poll() - if return_code is not None: - # 启动失败,尝试下一个端口 - display_num += 1 - test_proc.terminate() - continue - else: - # 启动成功!终止测试进程,并返回这个可用的显示编号 - test_proc.terminate() - return display_num - - raise RuntimeError(f"在尝试了 {max_attempts} 次后,未能找到可用的显示设备端口。") - # 如果没有 DISPLAY,自动启动 Xvfb if "DISPLAY" not in os.environ: import atexit @@ -69,7 +29,7 @@ if "DISPLAY" not in os.environ: os.environ["XDG_RUNTIME_DIR"] = runtime_dir # 使用函数查找空闲的显示端口 - free_display_num = find_free_display() + free_display_num = 99 display_env = f":{free_display_num}" # 启动 Xvfb,使用找到的空闲端口 diff --git a/config.py b/config.py index 997ab34..6c90dc4 100644 --- a/config.py +++ b/config.py @@ -30,6 +30,7 @@ url_get_oss_suffix_by_orderId = f"https://mp.api.suwa3d.com/api/order/getOssSuff # -------------------------- 开始:路径配置 ------------------------------- +# print_factory_type_dir="/root/git/" # print_factory_type_dir="/home/ecs-user/git/" print_factory_type_dir = "/home/algo/Documents/print_factory_type/git" print_data_dir = f"{print_factory_type_dir}/data/"