redis
  • celery
  • django-celery
  • 2013-03-13 31 views 0 likes 
    0

    我正在测试Django +芹菜,你好世界的例子。随着RabbitMQ的芹菜工作正常,但是当我切换到Redis的经纪人/结果我得到如下:巨大的延迟时使用芹菜+ 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 
    

    上面的测试有没有问题?

    回答

    1

    我发现解决方案是源代码: 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 
    
    相关问题