From 30d1c5fba944d87cbff368e03589f0402550593a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn-Michael=20Miehe?= Date: Sun, 22 Feb 2026 05:00:11 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20api=20"production"=20script:=20invo?= =?UTF-8?q?ke=20granian=20without=20"click"=20hack?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/advent22_api/production.py | 31 +++++++++++-------------------- 1 file changed, 11 insertions(+), 20 deletions(-) diff --git a/api/advent22_api/production.py b/api/advent22_api/production.py index ef8d270..d24a270 100644 --- a/api/advent22_api/production.py +++ b/api/advent22_api/production.py @@ -1,6 +1,7 @@ import os -from granian.cli import cli as granian_cli +from granian import Granian +from granian.constants import Interfaces, Loops from pydantic import BaseModel, Field from pydantic_settings import BaseSettings, SettingsConfigDict @@ -36,23 +37,13 @@ def start(): os.environ["ADVENT22__PRODUCTION_MODE"] = "true" settings = Settings() - granian_cli( - [ - "--host", - settings.bind.host, - "--port", - settings.bind.port, - "--workers", - settings.workers.count, - "--interface", - "asgi", - "--loop", - "uvloop", - "--process-name", - "advent22", - # app - "advent22_api.app:app", - ], - auto_envvar_prefix="GRANIAN", - standalone_mode=False, + server = Granian( + "advent22_api.app:app", + address=settings.bind.host, + port=settings.bind.port, + workers=settings.workers.count, + interface=Interfaces.ASGI, + loop=Loops.uvloop, + process_name="advent22", ) + server.serve()