Does Prefect v1.0 @task() support retry jitter?

Like GitHub - invl/retry: easy to use retry decorator in python

def retry(exceptions=Exception, tries=-1, delay=0, max_delay=None, backoff=1, jitter=0, logger=logging_logger):
    """Return a retry decorator.

    :param exceptions: an exception or a tuple of exceptions to catch. default: Exception.
    :param tries: the maximum number of attempts. default: -1 (infinite).
    :param delay: initial delay between attempts. default: 0.
    :param max_delay: the maximum value of delay. default: None (no limit).
    :param backoff: multiplier applied to delay between attempts. default: 1 (no backoff).
    :param jitter: extra seconds added to delay between attempts. default: 0.
                   fixed if a number, random if a range tuple (min, max)
    :param logger: logger.warning(fmt, error, delay) will be called on failed attempts.
                   default: retry.logging_logger. if None, logging is disabled.
    """

Good question. There is a retry_delay but no jitter or exponential backoff. There are some a bit hacky ways you could use to do it but the official answer is no :slight_smile:

1 Like

Do you think it’s worthwhile to add? If so I can submit an issue + PR

2 Likes