From b90527c516dedba6345e34ae3f4897ae397fe07d Mon Sep 17 00:00:00 2001 From: Li Xiang <54010254+lixiang007666@users.noreply.github.com> Date: Tue, 30 Dec 2025 17:00:13 +0800 Subject: [PATCH] Implement fail-fast mechanism for prompt_worker --- main.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/main.py b/main.py index 0e07a95daeba..88273751abec 100644 --- a/main.py +++ b/main.py @@ -328,6 +328,14 @@ def setup_database(): logging.error(f"Failed to initialize database. Please ensure you have installed the latest requirements. If the error persists, please report this as in future the database will be required: {e}") +def prompt_worker_failfast(*args, **kwargs): + try: + return prompt_worker(*args, **kwargs) + except Exception: + logging.critical("Unhandled exception in prompt_worker; exiting process.", exc_info=True) + os._exit(1) + + def start_comfyui(asyncio_loop=None): """ Starts the ComfyUI server using the provided asyncio event loop or creates a new one. @@ -367,7 +375,7 @@ def start_comfyui(asyncio_loop=None): prompt_server.add_routes() hijack_progress(prompt_server) - threading.Thread(target=prompt_worker, daemon=True, args=(prompt_server.prompt_queue, prompt_server,)).start() + threading.Thread(target=prompt_worker_failfast, daemon=True, args=(prompt_server.prompt_queue, prompt_server,)).start() if args.quick_test_for_ci: exit(0)