async def test(): config = Config(app=app, lifespan="auto") lifespan = LifespanOn(config) await lifespan.startup() assert lifespan.error_occured assert not lifespan.should_exit await lifespan.shutdown()
async def test(): config = Config(app=app, lifespan=mode) lifespan = LifespanOn(config) await lifespan.startup() assert lifespan.startup_failed assert lifespan.error_occured is raise_exception assert lifespan.should_exit await lifespan.shutdown()
async def test(): config = Config(app=app, lifespan="auto") lifespan = LifespanOn(config) assert not startup_complete assert not shutdown_complete await lifespan.startup() assert startup_complete assert not shutdown_complete await lifespan.shutdown() assert startup_complete assert shutdown_complete
async def test(): config = Config(app=app, loop=asyncio.get_event_loop()) lifespan = LifespanOn(config) assert not startup_complete assert not shutdown_complete await lifespan.startup() assert startup_complete assert not shutdown_complete await lifespan.shutdown() assert startup_complete assert shutdown_complete
def LifespanAuto(config): if not config.loaded: config.load() try: config.loaded_app({"type": "lifespan"}) except BaseException as exc: config.logger_instance.debug( "Lifespan protocol is not recognized by the application.") return LifespanOff(config) else: return LifespanOn(config)
async def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self._serve_app = frozen_app # Use uvicorn's lifespan handling code to properly deal with # startup and shutdown event. self._serve_asgi_lifespan = LifespanOn( Config(self._serve_app, lifespan="on")) # Replace uvicorn logger with our own. self._serve_asgi_lifespan.logger = logger # LifespanOn's logger logs in INFO level thus becomes spammy # Within this block we temporarily uplevel for cleaner logging with LoggingContext(self._serve_asgi_lifespan.logger, level=logging.WARNING): await self._serve_asgi_lifespan.startup()
async def test(): config = Config(app=asgi2app, lifespan="on") lifespan = LifespanOn(config) await lifespan.startup() await lifespan.shutdown()