我正在测试Django +芹菜,hello world的例子。与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
以上测试有什么问题吗?
我发现解决方案是源代码: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