def start_uvicorn(): config = Config(app=app, host="0.0.0.0", loop="asyncio", log_level=logger.level) server = Server(config=config) server.run()
class UvicornWorker(Worker): """ A worker class for Gunicorn that interfaces with an ASGI consumer callable, rather than a WSGI callable. """ CONFIG_KWARGS = {"loop": "uvloop", "http": "httptools"} def run(self): self.log.level = self.log.loglevel kwargs = { "app": self.wsgi, "sockets": self.sockets, "logger": self.log, "timeout_keep_alive": self.cfg.keepalive, "timeout_notify": self.timeout, "callback_notify": self.callback_notify, } kwargs.update(self.CONFIG_KWARGS) self.config = Config(**kwargs) self.server = Server(config=self.config) self.server.run() def init_signals(self): pass async def callback_notify(self): self.notify()
def start_uvicorn(): config = Config(app=app, host="0.0.0.0", port='9000', loop="asyncio", log_level=logger.level) server = Server(config=config) logger.debug("Starting up the message queue") server.run()
def run( app, host='127.0.0.1', port=8000, uds=None, fd=None, loop='auto', proto_http='auto', proto_ws='auto', log_level=None, access_log=None, proxy_headers=False, proxy_trust_ips=None, limit_concurrency=None, # limit_max_requests=None, backlog=2048, timeout_keep_alive=0 # timeout_notify=30 ): loop = loops.get_loop(loop) protocol_cls_http = protocols_http.get_protocol(proto_http) protocol_cls_ws = protocols_ws.get_protocol(proto_ws) app.send_signal(Signals.after_loop, loop=loop) if access_log is None: access_log = bool(app.debug) log_level = (LOG_LEVELS[log_level] if log_level else (logging.DEBUG if app.debug else logging.WARNING)) if proxy_trust_ips is None: proxy_trust_ips = os.environ.get("PROXY_TRUST_IPS", "*") uvicorn_config = Config( app=app, host=host, port=port, uds=uds, fd=fd, loop=loop, http=protocol_cls_http, ws=protocol_cls_ws, log_level=log_level, access_log=access_log, debug=bool(app.debug), proxy_headers=proxy_headers, forwarded_allow_ips=proxy_trust_ips, limit_concurrency=limit_concurrency, # limit_max_requests=limit_max_requests, backlog=backlog, timeout_keep_alive=timeout_keep_alive, # timeout_notify=timeout_notify ) server = Server(uvicorn_config) server.run()
def run( app, host='127.0.0.1', port=8000, uds=None, fd=None, loop='auto', proto_http='auto', proto_ws='auto', log_level=None, access_log=None, # proxy_headers=False, limit_concurrency=None, # limit_max_requests=None, timeout_keep_alive=0 # timeout_notify=30 ): loop = loops.get_loop(loop) protocol_cls_http = protocols_http.get_protocol(proto_http) protocol_cls_ws = protocols_ws.get_protocol(proto_ws) app.send_signal('after_loop', loop=loop) if access_log is None: access_log = bool(app.debug) uvicorn_config = Config( app=app, host=host, port=port, uds=uds, fd=fd, loop=loop, http=protocol_cls_http, ws=protocol_cls_ws, logger=_build_server_logger(app, log_level), access_log=access_log, debug=bool(app.debug), limit_concurrency=limit_concurrency, # limit_max_requests=limit_max_requests, timeout_keep_alive=timeout_keep_alive, # timeout_notify=timeout_notify ) server = Server(uvicorn_config) server.run()
def server_run(): def on_tick_sync(): if not ready.is_set(): loops.append(asyncio.get_event_loop()) ready.set() async def on_tick(): on_tick_sync() config = Config(app, host="127.0.0.1", port=port, loop="asyncio") config.callback_notify = on_tick config.log_config = {"version": 1} config.disable_lifespan = True config.logger = logging.getLogger("uvicorn") server = Server(config=config) server.install_signal_handlers = lambda *args, **kwargs: None try: server.started.set = on_tick_sync except Exception: pass server.run()
def test_server(): server = Server(None) server.should_exit = True server.run()