From b6c2ecfecb88d786129a6b3c6cf81699e2b6b997 Mon Sep 17 00:00:00 2001 From: "Richard Kuo (Danswer)" Date: Fri, 10 Jan 2025 12:16:13 -0800 Subject: [PATCH] more debugging of start method --- backend/onyx/background/celery/apps/heavy.py | 8 +++++++- backend/onyx/background/celery/apps/indexing.py | 4 +++- backend/onyx/background/celery/apps/light.py | 9 ++++++++- backend/onyx/background/celery/apps/primary.py | 8 +++++++- 4 files changed, 25 insertions(+), 4 deletions(-) diff --git a/backend/onyx/background/celery/apps/heavy.py b/backend/onyx/background/celery/apps/heavy.py index ee8958e7dd07..1a8b6587447f 100644 --- a/backend/onyx/background/celery/apps/heavy.py +++ b/backend/onyx/background/celery/apps/heavy.py @@ -56,8 +56,14 @@ def on_celeryd_init(sender: Any = None, conf: Any = None, **kwargs: Any) -> None @worker_init.connect def on_worker_init(sender: Any, **kwargs: Any) -> None: logger.info("worker_init signal received.") + + all_start_methods: list[str] = multiprocessing.get_all_start_methods() + logger.info(f"Multiprocessing all start methods: {all_start_methods}") + multiprocessing.set_start_method("spawn") # fork is unsafe, set to spawn - logger.info(f"Multiprocessing start method: {multiprocessing.get_start_method()}") + logger.info( + f"Multiprocessing selected start method: {multiprocessing.get_start_method()}" + ) SqlEngine.set_app_name(POSTGRES_CELERY_WORKER_HEAVY_APP_NAME) SqlEngine.init_engine(pool_size=4, max_overflow=12) diff --git a/backend/onyx/background/celery/apps/indexing.py b/backend/onyx/background/celery/apps/indexing.py index 818277ab47ab..1db1641ae528 100644 --- a/backend/onyx/background/celery/apps/indexing.py +++ b/backend/onyx/background/celery/apps/indexing.py @@ -62,7 +62,9 @@ def on_worker_init(sender: Any, **kwargs: Any) -> None: logger.info(f"Multiprocessing all start methods: {all_start_methods}") multiprocessing.set_start_method("spawn") # fork is unsafe, set to spawn - logger.info(f"Multiprocessing start method: {multiprocessing.get_start_method()}") + logger.info( + f"Multiprocessing selected start method: {multiprocessing.get_start_method()}" + ) SqlEngine.set_app_name(POSTGRES_CELERY_WORKER_INDEXING_APP_NAME) diff --git a/backend/onyx/background/celery/apps/light.py b/backend/onyx/background/celery/apps/light.py index 11f1341a1e02..73058ad32182 100644 --- a/backend/onyx/background/celery/apps/light.py +++ b/backend/onyx/background/celery/apps/light.py @@ -56,8 +56,15 @@ def on_celeryd_init(sender: Any = None, conf: Any = None, **kwargs: Any) -> None @worker_init.connect def on_worker_init(sender: Any, **kwargs: Any) -> None: logger.info("worker_init signal received.") + + all_start_methods: list[str] = multiprocessing.get_all_start_methods() + logger.info(f"Multiprocessing all start methods: {all_start_methods}") + multiprocessing.set_start_method("spawn") # fork is unsafe, set to spawn - logger.info(f"Multiprocessing start method: {multiprocessing.get_start_method()}") + logger.info( + f"Multiprocessing selected start method: {multiprocessing.get_start_method()}" + ) + logger.info(f"Concurrency: {sender.concurrency}") SqlEngine.set_app_name(POSTGRES_CELERY_WORKER_LIGHT_APP_NAME) diff --git a/backend/onyx/background/celery/apps/primary.py b/backend/onyx/background/celery/apps/primary.py index af2105b8c6dd..23f248527966 100644 --- a/backend/onyx/background/celery/apps/primary.py +++ b/backend/onyx/background/celery/apps/primary.py @@ -80,8 +80,14 @@ def on_celeryd_init(sender: Any = None, conf: Any = None, **kwargs: Any) -> None @worker_init.connect def on_worker_init(sender: Any, **kwargs: Any) -> None: logger.info("worker_init signal received.") + + all_start_methods: list[str] = multiprocessing.get_all_start_methods() + logger.info(f"Multiprocessing all start methods: {all_start_methods}") + multiprocessing.set_start_method("spawn") # fork is unsafe, set to spawn - logger.info(f"Multiprocessing start method: {multiprocessing.get_start_method()}") + logger.info( + f"Multiprocessing selected start method: {multiprocessing.get_start_method()}" + ) SqlEngine.set_app_name(POSTGRES_CELERY_WORKER_PRIMARY_APP_NAME) SqlEngine.init_engine(pool_size=8, max_overflow=0)