From 99878939637a1dab6be4589ad996bcd2cae52d9c Mon Sep 17 00:00:00 2001 From: Prasanna Walimbe Date: Sun, 26 Apr 2020 05:33:23 +0530 Subject: [PATCH] =?UTF-8?q?Update=20docs=20for=20order=20of=20listeners?= =?UTF-8?q?=C2=A0#1805=20(#1834)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/sanic/middleware.rst | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/sanic/middleware.rst b/docs/sanic/middleware.rst index 7fba505a..22a97192 100644 --- a/docs/sanic/middleware.rst +++ b/docs/sanic/middleware.rst @@ -132,6 +132,17 @@ For example: async def close_db(app, loop): await app.db.close() +Note: + +The listeners are deconstructed in the reverse order of being constructed. + +For example: + +If the first listener in before_server_start handler setups a database connection, +ones registered after it can rely on that connection being alive both when they are started +and stopped, because stopping is done in reverse order, and the database connection is +torn down last. + It's also possible to register a listener using the `register_listener` method. This may be useful if you define your listeners in another module besides the one you instantiate your app in.