【问题标题】:Celery randomly losing tasks芹菜随机丢失任务
【发布时间】:2016-08-25 04:21:16
【问题描述】:

我在 celery 中看到任务似乎“消失”,运行 2 个节点。这似乎是随机发生的。任务是这样创建的:

task = perform_advance.apply_async(...)
logger.info('Task created, id: {}'.format(task.task_id))

当这工作时,我会看到类似的东西:

[2016-04-21 01:13:02,470: INFO/Worker-8] foo.tasks.some_task[e52615da-de7a-49de-88d6-b3ca43a3383f]: Task created, id: eaaeb427-a167-4a78-ba39-4803e20cc753

[2016-04-29 21:18:40,667: DEBUG/MainProcess] Task accepted: foo.tasks.some_task[eaaeb427-a167-4a78-ba39-4803e20cc753] pid:1104

但是当它失败时,我从来没有看到任务被接受,只有它被创建。日志中没有错误。

芹菜版:3.1.23

rabbitmq 版本:3.3.3

【问题讨论】:

  • 在这里查看是否有帮助stackoverflow.com/questions/5336645/…
  • 我使用 CELERY_ACKS_LATE = True 进入带有 Rabbitmq 代理的 celery 配置
  • 这发生在我使用redis的身上。这与我的 VPS 上的内存 Ram 有关,我只是设置了更多的 ram,问题就消失了。 (用于处理 2+ 百万个异步请求)
  • 请注意,您使用的是几年前的 RabbitMQ 版本

标签: python rabbitmq celery


【解决方案1】:

也做过这方面的工作。

我想我会很高兴在这里分享这个问题的解决方案。

原来是 RabbitMQ 的内部 Amazon ELB 负载均衡器搞砸了我们。直接连接到 RabbitMQ 而不是 ELB 解决了这个问题。

【讨论】:

    猜你喜欢
    • 2016-02-21
    • 2014-04-16
    • 2017-06-02
    • 2018-12-26
    • 2011-05-31
    • 2011-12-02
    • 2014-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多