From 017051d06dacb72fad0a071f6c7c4aa2a39f8931 Mon Sep 17 00:00:00 2001 From: Laurent Sorber Date: Wed, 19 Aug 2026 11:54:49 +0200 Subject: [PATCH] fix: propagate signals to API servers --- template/pyproject.toml.jinja | 47 ++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/template/pyproject.toml.jinja b/template/pyproject.toml.jinja index 65e498b0..ceddfd25 100644 --- a/template/pyproject.toml.jinja +++ b/template/pyproject.toml.jinja @@ -181,28 +181,35 @@ type = "simple" [tool.poe.tasks.serve] help = "Serve the REST API" - shell = """ - if [ $dev ] - then { - uvicorn \ - --host $host \ - --port $port \ - --reload \ + control.expr = "dev" + + [[tool.poe.tasks.serve.switch]] + case = "True" + cmd = """ + uvicorn + --host $host + --port $port + --reload {{ project_name_snake_case }}.api:app - } else { - gunicorn \ - --access-logfile - \ - --bind $host:$port \ - --graceful-timeout 10 \ - --keep-alive 10 \ - --log-file - \ - --timeout 30 \ - --worker-class uvicorn.workers.UvicornWorker \ - --worker-tmp-dir /dev/shm \ - --workers 2 \ + """ + use_exec = true + + [[tool.poe.tasks.serve.switch]] + case = "False" + cmd = """ + gunicorn + --access-logfile - + --bind $host:$port + --graceful-timeout 10 + --keep-alive 10 + --log-file - + --timeout 30 + --worker-class uvicorn.workers.UvicornWorker + --worker-tmp-dir /dev/shm + --workers 2 {{ project_name_snake_case }}.api:app - } fi - """ + """ + use_exec = true [[tool.poe.tasks.serve.args]] help = "Bind socket to this host (default: 0.0.0.0)"