npbackup/upgrade_server/upgrade_server.py
2023-01-31 23:01:02 +01:00

62 lines
No EOL
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)