Compare commits
10
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b434b97e70 | ||
|
|
df0e789f56 | ||
|
|
b48ac3df38 | ||
|
|
6c50db2ee7 | ||
|
|
217dce3546 | ||
|
|
338c6bd600 | ||
|
|
1e1e031a56 | ||
|
|
9a314f9bd3 | ||
|
|
2dcad41ba1 | ||
|
|
c8c8c6052a |
@@ -29,9 +29,22 @@ class KayaMixin(ABC):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
def setup(self, loop: AbstractEventLoop) -> None:
|
def setup(self, loop: AbstractEventLoop) -> None:
|
||||||
"""Called on lifespan startup (default: no-op)."""
|
"""Called on lifespan startup (default: no-op).
|
||||||
|
|
||||||
|
Under RSGI (granian) the loop is NOT yet running when this is
|
||||||
|
called: schedule work on the passed ``loop`` (e.g.
|
||||||
|
``loop.create_task``) instead of calling
|
||||||
|
``asyncio.get_running_loop()``, which raises ``RuntimeError``
|
||||||
|
there. Under ASGI the lifespan runs inside a coroutine, so a
|
||||||
|
running loop happens to be available — do not rely on that.
|
||||||
|
"""
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def shutdown(self, loop: AbstractEventLoop) -> None:
|
def shutdown(self, loop: AbstractEventLoop) -> None:
|
||||||
"""Called on lifespan shutdown (default: no-op)."""
|
"""Called on lifespan shutdown (default: no-op).
|
||||||
|
|
||||||
|
As with :meth:`setup`, use the passed ``loop``; it may already be
|
||||||
|
stopped under RSGI, so ``asyncio.get_running_loop()`` is not
|
||||||
|
reliable here either.
|
||||||
|
"""
|
||||||
pass
|
pass
|
||||||
|
|||||||
Reference in New Issue
Block a user