From 43221d9d7f34ba98a14db9906e350cb494a86b25 Mon Sep 17 00:00:00 2001 From: Jonas L Date: Fri, 29 Dec 2023 17:47:50 +0100 Subject: [PATCH] fix(api): move gunicorn worker config to python file (#2854) ### Description Passing the --lifespan flag to gunicorn does not forward the option to uvicorn. --- Dockerfile | 3 +-- api/install/systemd/libretime-api.service | 3 +-- api/libretime_api/gunicorn.py | 5 +++++ 3 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 api/libretime_api/gunicorn.py diff --git a/Dockerfile b/Dockerfile index 2b521447f..cb8f1a5c5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -166,8 +166,7 @@ WORKDIR /app CMD ["/usr/local/bin/gunicorn", \ "--workers=4", \ - "--worker-class=uvicorn.workers.UvicornWorker", \ - "--lifespan", "off", \ + "--worker-class=libretime_api.gunicorn.Worker", \ "--log-file", "-", \ "--bind=0.0.0.0:9001", \ "libretime_api.asgi"] diff --git a/api/install/systemd/libretime-api.service b/api/install/systemd/libretime-api.service index a4b0179fd..7fa5703ef 100644 --- a/api/install/systemd/libretime-api.service +++ b/api/install/systemd/libretime-api.service @@ -25,8 +25,7 @@ Type=notify KillMode=mixed ExecStart=@@VENV_DIR@@/bin/gunicorn \ --workers 4 \ - --worker-class uvicorn.workers.UvicornWorker \ - --lifespan off \ + --worker-class libretime_api.gunicorn.Worker \ --log-file - \ --bind unix:/run/libretime-api.sock \ libretime_api.asgi diff --git a/api/libretime_api/gunicorn.py b/api/libretime_api/gunicorn.py new file mode 100644 index 000000000..d47b52606 --- /dev/null +++ b/api/libretime_api/gunicorn.py @@ -0,0 +1,5 @@ +from uvicorn.workers import UvicornWorker # pylint: disable=import-error + + +class Worker(UvicornWorker): + CONFIG_KWARGS = {"lifespan": "off"}