diff --git a/src/aare/daq/server.py b/src/aare/daq/server.py index cb3b4ed2..24fc10a8 100644 --- a/src/aare/daq/server.py +++ b/src/aare/daq/server.py @@ -3,6 +3,7 @@ import hmac import importlib import json import os +import threading import time from collections.abc import AsyncGenerator from contextlib import asynccontextmanager @@ -133,8 +134,9 @@ async def lifespan(application: FastAPI): yield # ── application serves requests here ── # Shutdown: add cleanup here if needed - daq.shutdown() logger.info(f"Worker {os.getpid()} shutting down.") + daq.shutdown() + logger.error(f"!!!!!!\n\nthreads alive while shutting down: {threading.enumerate()}\n\n!!!!!!") app = FastAPI(lifespan=lifespan) @@ -2531,6 +2533,8 @@ def main(): proxy_headers=False, log_config=get_uvicorn_logging_config(), timeout_worker_healthcheck=30, + timeout_graceful_shutdown=5, + timeout_keep_alive=2, )