From c1a5b32ebfc70ca915212799a4321d3f841ea5d0 Mon Sep 17 00:00:00 2001 From: sabaimran Date: Thu, 14 Nov 2024 17:33:19 -0800 Subject: [PATCH] Do not start server when importing the main.py file, unless gunicorn - Add more graceful shutdown when closing bg scheduler thread --- src/khoj/main.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/khoj/main.py b/src/khoj/main.py index a64813cc..2cfb6a2a 100644 --- a/src/khoj/main.py +++ b/src/khoj/main.py @@ -109,7 +109,10 @@ def shutdown_scheduler(): logger.info("🔓 Schedule Leader released") ProcessLockAdapters.remove_process_lock(state.schedule_leader_process_lock) - state.scheduler.shutdown() + try: + state.scheduler.shutdown() + except Exception as e: + logger.debug(f"Did not shutdown scheduler: {e}") def run(should_start_server=True): @@ -237,5 +240,6 @@ def poll_task_scheduler(): if __name__ == "__main__": run() else: - run(should_start_server=False) - atexit.register(shutdown_scheduler) + if "gunicorn" in sys.modules: + run(should_start_server=False) + atexit.register(shutdown_scheduler)