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)