From 40f07cfaf5d88e0949c9838480b12d56402c64dd Mon Sep 17 00:00:00 2001 From: Hanusz Leszek Date: Wed, 6 Mar 2024 02:14:49 +0100 Subject: [PATCH] Doc Fix confusion about TransportQueryError execute retries (#473) --- docs/advanced/async_permanent_session.rst | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/docs/advanced/async_permanent_session.rst b/docs/advanced/async_permanent_session.rst index 240d8b4f..e42010cf 100644 --- a/docs/advanced/async_permanent_session.rst +++ b/docs/advanced/async_permanent_session.rst @@ -75,7 +75,6 @@ backoff decorator to the :code:`retry_execute` argument. backoff.expo, Exception, max_tries=3, - giveup=lambda e: isinstance(e, TransportQueryError), ) session = await client.connect_async( reconnecting=True, @@ -84,6 +83,18 @@ backoff decorator to the :code:`retry_execute` argument. If you don't want any retry on the execute calls, you can disable the retries with :code:`retry_execute=False` +.. note:: + If you want to retry even with :code:`TransportQueryError` exceptions, + then you need to make your own backoff decorator on your own method: + + .. code-block:: python + + @backoff.on_exception(backoff.expo, + Exception, + max_tries=3) + async def execute_with_retry(session, query): + return await session.execute(query) + Subscription retries ^^^^^^^^^^^^^^^^^^^^