Handle prompt_worker crashes with a critical log

This commit is contained in:
Li Xiang 2025-12-26 14:09:30 +08:00 committed by GitHub
parent d9a76cf66e
commit 6c08073d31
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

10
main.py
View File

@ -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_crashfast(*args, **kwargs):
try:
return prompt_worker(*args, **kwargs)
except Exception:
logging.critical("Fatal: prompt_worker crashed", 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_crashfast, daemon=True, args=(prompt_server.prompt_queue, prompt_server,)).start()
if args.quick_test_for_ci:
exit(0)