35 lines
940 B
Python
35 lines
940 B
Python
import sys
|
|
from pathlib import Path
|
|
|
|
from granian.constants import Interfaces
|
|
from granian.log import LogLevels
|
|
from granian.server import Server
|
|
|
|
from settings import PORT
|
|
from utils.logger import root_logger as logger
|
|
|
|
if __name__ == "__main__":
|
|
logger.info("started")
|
|
try:
|
|
|
|
granian_instance = Server(
|
|
"main:app",
|
|
address="0.0.0.0",
|
|
port=PORT,
|
|
interface=Interfaces.ASGI,
|
|
workers=4,
|
|
websockets=False,
|
|
log_level=LogLevels.debug,
|
|
backlog=2048,
|
|
)
|
|
|
|
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)
|
|
granian_instance.serve()
|
|
except Exception as error:
|
|
logger.error(error, exc_info=True)
|
|
raise
|
|
finally:
|
|
logger.info("stopped")
|