npbackup/upgrade_server/upgrade_server.py
2023-02-01 01:51:15 +01:00

65 lines
1.5 KiB
Python

#! /usr/bin/env python
# -*- coding: utf-8 -*-
#
# This file is part of npbackup
__intname__ = "npbackup.upgrade_server.upgrade_server"
__author__ = "Orsiris de Jong"
__copyright__ = "Copyright (C) 2023 NetInvent"
__license__ = "GPL-3.0-only"
__build__ = "202303101"
__version__ = "1.0.0"
DEVEL = True
import sys
import os
from upgrade_server import configuration
from ofunctions.logger_utils import logger_get_logger
config_dict = configuration.load_config()
try:
listen = config_dict["http_server"]["listen"]
except KeyError:
listen = None
try:
port = config_dict["http_server"]["port"]
except KeyError:
listen = None
if DEVEL:
import uvicorn as server
server_args = {
"workers": 1,
"log_level": "debug",
"reload": True,
"host": listen if listen else "0.0.0.0",
"port": port if port else 8080,
}
else:
import gunicorn as server
server_args = {
"workers": 8,
"reload": False,
"host": listen if listen else "0.0.0.0",
"port": port if port else 8080,
}
logger = logger_get_logger()
if __name__ == "__main__":
try:
server.run("upgrade_server.api:app", **server_args)
except KeyboardInterrupt as exc:
logger.error("Program interrupted by keyoard: {}".format(exc))
sys.exit(200)
except Exception as exc:
logger.error("Program interrupted by error: {}".format(exc))
logger.critical("Trace:", exc_info=True)
sys.exit(201)