api "production" script: invoke granian without "click" hack

This commit is contained in:
Jörn-Michael Miehe 2026-02-22 05:00:11 +01:00
parent ca46a2cf5c
commit 30d1c5fba9

View file

@ -1,6 +1,7 @@
import os 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 import BaseModel, Field
from pydantic_settings import BaseSettings, SettingsConfigDict from pydantic_settings import BaseSettings, SettingsConfigDict
@ -36,23 +37,13 @@ def start():
os.environ["ADVENT22__PRODUCTION_MODE"] = "true" os.environ["ADVENT22__PRODUCTION_MODE"] = "true"
settings = Settings() settings = Settings()
granian_cli( server = Granian(
[ "advent22_api.app:app",
"--host", address=settings.bind.host,
settings.bind.host, port=settings.bind.port,
"--port", workers=settings.workers.count,
settings.bind.port, interface=Interfaces.ASGI,
"--workers", loop=Loops.uvloop,
settings.workers.count, process_name="advent22",
"--interface",
"asgi",
"--loop",
"uvloop",
"--process-name",
"advent22",
# app
"advent22_api.app:app",
],
auto_envvar_prefix="GRANIAN",
standalone_mode=False,
) )
server.serve()