默认芹菜倒计时

时间:2017-07-12 04:18:36

标签: python django celery celery-task

有没有办法在django的settings.py CELERYD_TASK_SOFT_TIME_LIMIT中声明默认的倒数计时器?如果不是在我基于类的周期性任务中总是声明它,那将会很有帮助吗?

try:
    ddd
except Exception as exc:
    raise self.retry(exc=exc)

是否可以将retry=True的默认设置为所有任务?

1 个答案:

答案 0 :(得分:1)

看起来你可以这样做:

app.config_from_object('django.conf:settings', namespace='CELERY')

在django.conf中

CELERY_SOFT_TIME_LIMIT = 120
CELERY_TIME_LIMIT = 240

这是celery django配置文档。

http://docs.celeryproject.org/en/latest/django/first-steps-with-django.html

以下是配置选项列表。

http://docs.celeryproject.org/en/latest/userguide/configuration.html

我无法找到全局任务重试设置,但我发誓我在某处看到了它。 但是,您可以在每个任务级别设置重试,也可以传递硬时间和软时间限制。

@app.task(max_retries=10, time_limit=240, soft_time_limit=120)
def task(self, auth, message):
    #do_stuff

以下是您可以为芹菜装饰者提供的选项列表。 http://docs.celeryproject.org/en/latest/reference/celery.app.task.html#celery.app.task.Task.retry