core/server.py

35 lines
962 B
Python
Raw Normal View History

2024-12-11 22:04:11 +00:00
import sys
from pathlib import Path
from granian.constants import Interfaces
2024-08-12 08:00:01 +00:00
from granian.log import LogLevels
from granian.server import Granian
2024-05-06 21:06:31 +00:00
2024-02-21 20:14:06 +00:00
from settings import PORT
2024-08-09 06:37:06 +00:00
from utils.logger import root_logger as logger
2024-02-21 20:14:06 +00:00
2024-04-17 15:32:23 +00:00
if __name__ == "__main__":
logger.info("started")
2024-11-01 21:26:57 +00:00
try:
granian_instance = Granian(
"main:app",
address="0.0.0.0",
port=PORT,
interface=Interfaces.ASGI,
threads=4,
websockets=False,
log_level=LogLevels.debug,
backlog=2048,
)
2024-11-02 09:09:24 +00:00
2024-12-11 22:04:11 +00:00
if "dev" in sys.argv:
logger.info("dev mode, building ssl context")
granian_instance.build_ssl_context(cert=Path("localhost.pem"), key=Path("localhost-key.pem"), password=None)
2024-11-01 21:26:57 +00:00
granian_instance.serve()
except Exception as error:
logger.error(f"Granian error: {error}", exc_info=True)
raise
finally:
logger.info("stopped")