async def launch_server(): # cant just call main_server.run # main_server.run("noobit.server.main_app:app", host="localhost", port=8000, reload=False) app = "noobit.server.main_app:app" config = Config(app, host="localhost", port=8000, reload=False) config.backlog = 2048 global server server = Server(config=config) server.aioredis_pool = await aioredis.create_redis_pool( ('localhost', 6379)) await server.serve()
def run(app, **kwargs): config = Config(app, **kwargs) config.backlog = 2048 #! for some reason we need to specify this server = Server(config=config) if (config.reload or config.workers > 1) and not isinstance(app, str): logger = logging.getLogger("uvicorn.error") logger.warn( "You must pass the application as an import string to enable 'reload' or 'workers'." ) sys.exit(1) if config.should_reload: sock = config.bind_socket() supervisor = StatReload(config, target=server.run, sockets=[sock]) supervisor.run() elif config.workers > 1: sock = config.bind_socket() supervisor = Multiprocess(config, target=server.run, sockets=[sock]) supervisor.run() else: server.run()