@@ -140,12 +140,9 @@ def signal_handler(arg: Optional[Any] = None) -> None:
140140 opt = action .execute_activity
141141 config = workflow .ActivityConfig (
142142 task_queue = opt .task_queue ,
143- retry_policy = RetryPolicy (
144- initial_interval = timedelta (milliseconds = 1 ),
145- backoff_coefficient = 1.01 ,
146- maximum_interval = timedelta (milliseconds = 2 ),
147- maximum_attempts = opt .retry_max_attempts or 1 ,
148- non_retryable_error_types = opt .non_retryable_error_types or [],
143+ retry_policy = kitchen_sink_retry_policy (
144+ maximum_attempts = opt .retry_max_attempts ,
145+ non_retryable_error_types = opt .non_retryable_error_types ,
149146 ),
150147 )
151148 if opt .schedule_to_close_timeout_ms :
@@ -207,6 +204,19 @@ async def run_activity(index: int) -> None:
207204 return False , None
208205
209206
207+ def kitchen_sink_retry_policy (
208+ maximum_attempts : Optional [int ] = None ,
209+ non_retryable_error_types : Optional [Sequence [str ]] = None ,
210+ ) -> RetryPolicy :
211+ return RetryPolicy (
212+ initial_interval = timedelta (milliseconds = 1 ),
213+ backoff_coefficient = 1.01 ,
214+ maximum_interval = timedelta (milliseconds = 2 ),
215+ maximum_attempts = maximum_attempts or 1 ,
216+ non_retryable_error_types = non_retryable_error_types ,
217+ )
218+
219+
210220async def cancel_after (task : asyncio .Task , after : float ) -> None :
211221 await asyncio .sleep (after )
212222 task .cancel ()
0 commit comments