Django的芹菜apply_async不起作用

问题描述 投票:2回答:1

我们使用Django 1.10,芹菜4.1.0

我试图用apply_async。这是任务:

from celery import Celery
app = Celery('my_app', broker='redis://127.0.0.1:6379/2')


@app.task
def add(x, y):
    print(str(x+y))
    raise status.HTTP_500_INTERNAL_SERVER_ERROR

当“延迟”称这是它运行的“添加”功能,但不重试:

add.delay(4, 4)

我试图运行与“apply_async”和“重试”和“RETRY_POLICY”的任务,但它似乎并不甚至运行任务:

add.apply_async((4, 4),
                        retry=True,
                        retry_policy={
                                      'max_retries': 3,
                                      'interval_start': 0,
                                      'interval_step': 0.2,
                                      'interval_max': 0.2,
                        } 
                )

我缺少的东西吗?

python django django-celery
1个回答
0
投票

检查您是否已经错过了你的凸出配置/凸出/ __ init__.py中Celery Docs描述

该文件必须具有:

from __future__ import absolute_import, unicode_literals

# This will make sure the app is always imported when
# Django starts so that shared_task will use this app.
from .celery import app as celery_app

__all__ = ('celery_app',)
© www.soinside.com 2019 - 2024. All rights reserved.