diff --git a/docker/init_scripts/init b/docker/init_scripts/init index 046205248..80ad1c805 100755 --- a/docker/init_scripts/init +++ b/docker/init_scripts/init @@ -88,10 +88,9 @@ start_bin_gunicorn() { --bind=unix:/tmp/gunicorn.sock \ --pid=/tmp/gunicorn.pid \ --forwarded-allow-ips="*" \ - --worker-class uvicorn.workers.UvicornWorker \ + --worker-class uvicorn_worker.UvicornWorker \ --workers "${WEB_CONCURRENCY:-${DEFAULT_WEB_CONCURRENCY:-1}}" \ --error-logfile - \ - --error-logfile - \ --log-config /etc/gunicorn/logging.conf \ main:app & } diff --git a/pyproject.toml b/pyproject.toml index c5c6b0399..f039f27eb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -45,7 +45,8 @@ dependencies = [ "types-pyyaml ~= 6.0", "types-redis ~= 4.6", "user-agents ~= 2.2", - "uvicorn == 0.29.0", + "uvicorn ~= 0.35", + "uvicorn-worker ~= 0.3", "watchdog ~= 4.0", "yarl ~= 1.14", "zipfile-inflate64 ~= 0.1", diff --git a/uv.lock b/uv.lock index 42dca624f..b7c19d688 100644 --- a/uv.lock +++ b/uv.lock @@ -1687,6 +1687,7 @@ dependencies = [ { name = "unidecode" }, { name = "user-agents" }, { name = "uvicorn" }, + { name = "uvicorn-worker" }, { name = "watchdog" }, { name = "yarl" }, { name = "zipfile-inflate64" }, @@ -1756,7 +1757,8 @@ requires-dist = [ { name = "types-redis", specifier = "~=4.6" }, { name = "unidecode", specifier = "==1.3.8" }, { name = "user-agents", specifier = "~=2.2" }, - { name = "uvicorn", specifier = "==0.29.0" }, + { name = "uvicorn", specifier = "~=0.35" }, + { name = "uvicorn-worker", specifier = "~=0.3" }, { name = "watchdog", specifier = "~=4.0" }, { name = "yarl", specifier = "~=1.14" }, { name = "zipfile-inflate64", specifier = "~=0.1" }, @@ -2199,15 +2201,15 @@ wheels = [ [[package]] name = "uvicorn" -version = "0.29.0" +version = "0.35.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "click" }, { name = "h11" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/49/8d/5005d39cd79c9ae87baf7d7aafdcdfe0b13aa69d9a1e3b7f1c984a2ac6d2/uvicorn-0.29.0.tar.gz", hash = "sha256:6a69214c0b6a087462412670b3ef21224fa48cae0e452b5883e8e8bdfdd11dd0", size = 40894, upload-time = "2024-03-20T06:43:25.747Z" } +sdist = { url = "https://files.pythonhosted.org/packages/5e/42/e0e305207bb88c6b8d3061399c6a961ffe5fbb7e2aa63c9234df7259e9cd/uvicorn-0.35.0.tar.gz", hash = "sha256:bc662f087f7cf2ce11a1d7fd70b90c9f98ef2e2831556dd078d131b96cc94a01", size = 78473, upload-time = "2025-06-28T16:15:46.058Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/73/f5/cbb16fcbe277c1e0b8b3ddd188f2df0e0947f545c49119b589643632d156/uvicorn-0.29.0-py3-none-any.whl", hash = "sha256:2c2aac7ff4f4365c206fd773a39bf4ebd1047c238f8b8268ad996829323473de", size = 60813, upload-time = "2024-03-20T06:43:21.841Z" }, + { url = "https://files.pythonhosted.org/packages/d2/e2/dc81b1bd1dcfe91735810265e9d26bc8ec5da45b4c0f6237e286819194c3/uvicorn-0.35.0-py3-none-any.whl", hash = "sha256:197535216b25ff9b785e29a0b79199f55222193d47f820816e7da751e9bc8d4a", size = 66406, upload-time = "2025-06-28T16:15:44.816Z" }, ] [package.optional-dependencies] @@ -2221,6 +2223,19 @@ standard = [ { name = "websockets" }, ] +[[package]] +name = "uvicorn-worker" +version = "0.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "gunicorn" }, + { name = "uvicorn" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/37/c0/b5df8c9a31b0516a47703a669902b362ca1e569fed4f3daa1d4299b28be0/uvicorn_worker-0.3.0.tar.gz", hash = "sha256:6baeab7b2162ea6b9612cbe149aa670a76090ad65a267ce8e27316ed13c7de7b", size = 9181, upload-time = "2024-12-26T12:13:07.591Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f7/1f/4e5f8770c2cf4faa2c3ed3c19f9d4485ac9db0a6b029a7866921709bdc6c/uvicorn_worker-0.3.0-py3-none-any.whl", hash = "sha256:ef0fe8aad27b0290a9e602a256b03f5a5da3a9e5f942414ca587b645ec77dd52", size = 5346, upload-time = "2024-12-26T12:13:06.026Z" }, +] + [[package]] name = "uvloop" version = "0.21.0"