use*_*391 5 python django django-celery
我们使用的是 django 1.10,Celery 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
Run Code Online (Sandbox Code Playgroud)
当使用 'delay' 调用它时,它运行 'add' 函数但不重试:
add.delay(4, 4)
Run Code Online (Sandbox Code Playgroud)
我尝试使用 'apply_async' 和 'retry' 和 '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,
}
)
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?
检查您是否错过了proj/proj/__init__.py上的配置,如Celery 文档中所述
该文件必须具有:
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',)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2214 次 |
| 最近记录: |