使用Celery+ Redis的巨大延迟
我正在测试Django + Celery,您好是世界示例。使用RabbitMQcelery可以正常工作,但是当我切换到Redis经纪人/结果时,我得到以下信息:
%timeit add.delay(1,2).get()1 loops, best of 3: 503 ms per loop
CELERY_RESULT_BACKEND = "redis"BROKER_URL = 'redis://localhost:6379'
@task()def add(x, y):
return x + y
上面的测试中有什么问题吗?
回答:
我发现解决方案是源代码:http
:
//docs.celeryproject.org/en/latest/_modules/celery/result.html#AsyncResult.get
–重试检索结果之前等待的时间(以秒为单位)。请注意,这在使用amqp结果存储后端时不起作用,因为它不使用轮询。
默认情况下为0.5秒。您可以手动更改它,但不建议使用此方法来运行任务:
%timeit add.delay(1,2).get(interval=0.001)100 loops, best of 3: 3.92 ms per loop
以上是 使用Celery+ Redis的巨大延迟 的全部内容, 来源链接: utcz.com/qa/427168.html