【问题标题】:After delay() is called on a celery task, it takes more than 5 to 10 seconds for the tasks to even start executing with redis as the server在 celery 任务上调用 delay() 后,以 redis 为服务器的任务甚至需要超过 5 到 10 秒才能开始执行
【发布时间】:2018-09-30 13:00:57
【问题描述】:

我有 Redis 作为我的缓存服务器。当我在一个任务上调用 delay() 时,甚至需要 10 多个任务才能开始执行。知道如何减少这种不必要的滞后吗? 我应该用 RabbitMQ 替换 Redis 吗?

【问题讨论】:

    标签: python django asynchronous redis celery


    【解决方案1】:

    如果无法检查您的应用程序和服务器日志,很难说出延迟的原因是什么,但我可以向您保证,延迟是不正常的,并且不是 Celery 或使用 Redis 作为特定的影响经纪人。我过去经常使用这种组合,并且任务的执行发生在几毫秒内。

    我首先要确保创建任务的客户端、代理 (Redis) 和任务消费者(celery 工作者)之间不存在网络相关问题。

    祝你好运!

    【讨论】:

    • 谢谢,如果有网络相关问题,我会检查并通知您。
    • 我的 redis 服务器在启动时未启用运行,因此我猜 celery 一次又一次地重新启动服务器,这需要时间。我停止了我的 redis 服务器,重新启动它,现在任务在很短的时间内执行。非常感谢您的宝贵时间!
    猜你喜欢
    • 2017-05-25
    • 1970-01-01
    • 2019-11-24
    • 2013-08-07
    • 2020-12-14
    • 2018-05-20
    • 2019-04-21
    • 2018-08-06
    • 1970-01-01
    相关资源
    最近更新 更多