How to retry taskΒΆ

To retry task on exception or when some condition occurred, we can use raise Retry(e):

# task with exception
@task(bind=True, max_retries=3, retry_countdown=5)
def test_func_bad(self):
    """

    Args:
        self(gromozeka.primitives.Task):
    """
    self.logger.info('start working')
    try:
        1 / 0
    except ZeroDivisionError as e:
        raise Retry(e)

We can redefine behavior in task:

raise Retry(e,max_retries=3,retry_countdown=1)

Or when we register task:

app.register_task(task=test_func_bad(), broker_point=broker_point, max_workers=10, max_retries=5, retry_countdown=1)