【问题标题】:Celery sometimes do not create tasksCelery 有时不会创建任务
【发布时间】:2018-07-31 23:22:38
【问题描述】:

我正在开发一个 Python API,它使用 Celery 与 Redis 和 RabbitMQ 来管理我的消息。有时,当我向队列提交一些任务时,它只是不会收到我期望的消息,它保持为空,并且当手动重试它们时它们可能会运行。它错过的消息通常是相同的,但我不明白为什么某些特定的论点有时会起作用。

我尝试了很多代码来提交消息。 第一个:

advertising_price_set_item.delay(account_id=account.id, tool_id=tool_id,
                                         ml_item_id=advertising.external_id,
                                         price=price, process_id=process_id)

第二个:

advertising_price_set_item.apply_async(kwargs={'account_id': account.id, 'tool_id': tool_id,
                                               'ml_item_id': advertising.external_id,
                                               'price': price, 'process_id': process_id}, retry=True)

最后:

try:
    advertising_price_set_item.apply_async(kwargs={'account_id': account.id, 'tool_id': tool_id,
                                                   'ml_item_id': advertising.external_id,
                                                   'price': price, 'process_id': process_id}, retry=True,
                                           retry_policy={'max_retries': 44,
                                                         'interval_start': 0,
                                                         'interval_step': 0.2,
                                                         'interval_max': 0.2},)
except Exception as e:
    print(e)
    logging.error(traceback.format_exc())

但它们都在某个时候失败了,我从未收到任何异常或错误消息。

RabbitMQ 中的消息如下所示:

{'user_id': 1, 'tool_id': 1, 'ml_items_id': ['A123', 'B123', 'C123'], 'price_premium': 0.01, 'price_classic': 0.01, 'price_free': 0.01, 'process_id': 1}

【问题讨论】:

    标签: python rabbitmq queue celery message


    【解决方案1】:

    我无法找到答案,为什么有时 Celery 和 RabbitMQ 之间的消息会消失,但至少我发现将代理更改为 Redis 解决了我的问题!

    如果您在消息丢失或未发送到 RabbitMQ 时遇到困难,请尝试将您的代理更改为 Redis。

    【讨论】:

      猜你喜欢
      • 2016-05-23
      • 2013-01-07
      • 1970-01-01
      • 1970-01-01
      • 2013-03-25
      • 2014-12-02
      • 2012-12-17
      • 2018-02-28
      • 1970-01-01
      相关资源
      最近更新 更多