npbackup/upgrade_server/upgrade_server.py

66 lines
1.6 KiB
Python
Raw Normal View History

2023-02-01 04:04:04 +08:00
#! /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__ = "0.0.1"
DEVEL=True
import sys
import os
from upgrade_server import configuration
from ofunctions.logger_utils import logger_get_logger
#ROOT_DIR = os.path.abspath(os.path.dirname(__file__))
#config_file = 'upgrade_server.conf'
#config_dict = configuration.load_config(os.path.join(ROOT_DIR, config_file)
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)