コード例 #1
0
ファイル: test_lifespan.py プロジェクト: thanhntmany/uvicorn
    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()
コード例 #2
0
ファイル: test_lifespan.py プロジェクト: thanhntmany/uvicorn
    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()
コード例 #3
0
ファイル: test_lifespan.py プロジェクト: thanhntmany/uvicorn
    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
コード例 #4
0
    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
コード例 #5
0
ファイル: auto.py プロジェクト: vpistis/uvicorn
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)
コード例 #6
0
            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()
コード例 #7
0
ファイル: test_lifespan.py プロジェクト: thanhntmany/uvicorn
    async def test():
        config = Config(app=asgi2app, lifespan="on")
        lifespan = LifespanOn(config)

        await lifespan.startup()
        await lifespan.shutdown()