import uvicorn from setup_logging import setup_logging from dotenv import load_dotenv from app import app import logging import os from configparser import ConfigParser from pathlib import Path import socket # from multiprocessing import Queue # from worker import Worker # load default values config = ConfigParser() config.read(Path(__file__).parent / 'defaults.ini') LISTEN_IP = config.get('fastapi', 'listen_ip') LISTEN_PORT = int(config.get('fastapi', 'listen_port')) if __name__ == '__main__': # setup load_dotenv() setup_logging() listen_ip = os.getenv('LISTEN_IP', default=LISTEN_IP) listen_port = int(os.getenv('LISTEN_PORT', default=LISTEN_PORT)) own_ip = socket.gethostbyname(socket.gethostname()) # # setup work queue # work_queue: Queue = Queue() # # setup worker process # worker = Worker(queue=work_queue) # start server logging.info(f'starting FastAPI server ({own_ip}:{listen_port})') # try: uvicorn.run( app=app, host=listen_ip, port=listen_port ) # except KeyboardInterrupt: # worker.stop()