notifier/server.py
Untone 8b39b47714
Some checks failed
deploy to v2 / test (push) Failing after 49s
deploy to v2 / deploy (push) Has been skipped
fixed-fmt-linted
2024-02-17 02:56:15 +03:00

76 lines
2.1 KiB
Python

import logging
import sys
from settings import PORT
log_settings = {
'version': 1,
'disable_existing_loggers': True,
'formatters': {
'default': {
'()': 'uvicorn.logging.DefaultFormatter',
'fmt': '%(levelprefix)s %(message)s',
'use_colors': None,
},
'access': {
'()': 'uvicorn.logging.AccessFormatter',
'fmt': '%(levelprefix)s %(client_addr)s - "%(request_line)s" %(status_code)s',
},
},
'handlers': {
'default': {
'formatter': 'default',
'class': 'logging.StreamHandler',
'stream': 'ext://sys.stderr',
},
'access': {
'formatter': 'access',
'class': 'logging.StreamHandler',
'stream': 'ext://sys.stdout',
},
},
'loggers': {
'uvicorn': {'handlers': ['default'], 'level': 'INFO'},
'uvicorn.error': {'level': 'INFO', 'handlers': ['default'], 'propagate': True},
'uvicorn.access': {'handlers': ['access'], 'level': 'INFO', 'propagate': False},
},
}
local_headers = [
('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, HEAD'),
('Access-Control-Allow-Origin', 'https://localhost:3000'),
(
'Access-Control-Allow-Headers',
'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization',
),
('Access-Control-Expose-Headers', 'Content-Length,Content-Range'),
('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__))
if __name__ == '__main__':
sys.excepthook = exception_handler
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()