我正在测试Django + Celery,你好世界的例子。使用RabbitMQ芹菜工作正常,但当我切换到Redis经纪人/结果时,我得到以下:
%timeit add.delay(1,2).get()
1 loops, best of 3: 503 ms per loop
settings.py
CELERY_RESULT_BACKEND = "redis"
BROKER_URL = 'redis://localhost:6379'
tasks.py
@task()
def add(x, y):
return x + y
以上测试中是否有任何问题?
答案 0 :(得分:1)
我发现解决方案是源代码: http://docs.celeryproject.org/en/latest/_modules/celery/result.html#AsyncResult.get
interval - 重试检索结果之前等待的时间(以秒为单位)。请注意,使用时没有任何效果 amqp结果存储后端,因为它不使用轮询。
默认情况下为0.5秒。您可以手动更改它,但不建议运行任务的方式:
%timeit add.delay(1,2).get(interval=0.001)
100 loops, best of 3: 3.92 ms per loop