From fe53ff6afcde8dc1902b1ed567902253db961e4c Mon Sep 17 00:00:00 2001 From: Untone Date: Sun, 4 Feb 2024 08:03:29 +0300 Subject: [PATCH] granian-dry-test --- pyproject.toml | 2 +- server.py | 23 +++++++++++++++++++---- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index ba2ada5..3c67e08 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,11 +13,11 @@ python = "^3.12" SQLAlchemy = "^2.0.22" psycopg2-binary = "^2.9.9" redis = {extras = ["hiredis"], version = "^5.0.1"} -uvicorn = "^0.27.0" strawberry-graphql = {extras = ["asgi", "debug-server"], version = "^0.216.1" } strawberry-sqlalchemy-mapper = "^0.4.0" sentry-sdk = "^1.37.1" aiohttp = "^3.9.1" +granian = "^1.0.2" [tool.poetry.group.dev.dependencies] setuptools = "^69.0.2" diff --git a/server.py b/server.py index 45a093b..0304a0c 100644 --- a/server.py +++ b/server.py @@ -1,7 +1,5 @@ import sys - -import uvicorn -from uvicorn.main import logger +import logging from settings import PORT @@ -49,6 +47,9 @@ local_headers = [ ("Access-Control-Allow-Credentials", "true"), ] +logger = logging.getLogger("[server] ") +logger.setLevel(logging.DEBUG) + def exception_handler(_et, exc, _tb): logger.error(..., exc_info=(type(exc), exc, exc.__traceback__)) @@ -56,4 +57,18 @@ def exception_handler(_et, exc, _tb): if __name__ == "__main__": sys.excepthook = exception_handler - uvicorn.run("main:app", host="0.0.0.0", port=PORT, proxy_headers=True, server_header=True) + from granian.constants import Interfaces + from granian.server import Granian + + print("[server] started") + + granian_instance = Granian( + "main:app", + address="0.0.0.0", # noqa S104 + port=PORT, + workers=2, + threads=2, + websockets=False, + interface=Interfaces.ASGI, + ) + granian_instance.serve()