Skip to content
This repository was archived by the owner on Sep 18, 2023. It is now read-only.
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
install_requires=[
"betterproto-for-temporal-python-sdk==1.2.5",
"dataclasses-json==0.3.8",
"grpcio==1.30.0",
"grpcio==1.43.0",
"grpclib==0.3.2",
"h2==3.2.0",
"more-itertools==7.0.0",
Expand Down
4 changes: 4 additions & 0 deletions temporal/retry.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import asyncio
import calendar
from socket import gaierror
import time

INITIAL_DELAY_SECONDS = 3
Expand All @@ -17,6 +18,9 @@ async def retry_loop(*args, **kwargs):
await fp(*args, **kwargs)
logger.debug("@retry decorated function %s exited, ending retry loop", fp.__name__)
break
except (asyncio.CancelledError, gaierror) as err:
logger.info(f"{fp.__name__} raised {err}, retrying...")
await asyncio.sleep(INITIAL_DELAY_SECONDS)
except Exception as ex:
now = calendar.timegm(time.gmtime())
if last_failed_time == -1 or (now - last_failed_time) > RESET_DELAY_AFTER_SECONDS:
Expand Down