Uh oh!
There was an error while loading. Please reload this page.
Add 'on_error' argument to 'retry.retry_target' and 'Retry'. - #3891
Conversation
Permit application code to reset / fix-up state before retrying. See: #3889
dhermes
left a comment
There was a problem hiding this comment.
LGTM though I think you should let @jonparrott have a look before merging
| sleep_generator (Iterator[float]): An infinite iterator that determines | ||
| how long to sleep between retries. | ||
| deadline (float): How long to keep retrying the target. | ||
| on_error(Callable): A function to call while processing a retryable |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
| Args: | ||
| func (Callable): The callable to add retry behavior to. | ||
| on_error(Callable): A function to call while processing a |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
| raise ValueError() | ||
| return 42 | ||
| result = retry.retry_target( |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
| result = retry.retry_target( | ||
| target, predicate, range(10), None, on_error=on_error) | ||
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
theacodes
left a comment
There was a problem hiding this comment.
looks mostly good, just a few questions.
| raise | ||
| last_exc = exc | ||
| if on_error is not None: | ||
| on_error() |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
| sleep_generator (Iterator[float]): An infinite iterator that determines | ||
| how long to sleep between retries. | ||
| deadline (float): How long to keep retrying the target. | ||
| on_error(Callable): A function to call while processing a retryable |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
| self._deadline = deadline | ||
| def __call__(self, func): | ||
| def __call__(self, func, on_error=None): |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
theacodes
commented
Aug 28, 2017
Permit application code to reset / fix-up state before retrying.
Permit application code to reset / fix-up state before retrying.
See: #3889