【问题标题】:Configuring Celery + AWS SQS to revoke tasks配置 Celery + AWS SQS 以撤销任务
【发布时间】:2021-07-25 23:24:39
【问题描述】:

我在 AWS SQS 上运行 Celery+Kombu 4.4.6 并且想要撤销和终止任务。 通读文档和 SO 帖子,传输需要允许广播消息。 SQS 不做广播消息,而 Celery+Kombu 需要使用 SimpleDB。早在 1.x 版本中,该选项就默认关闭了。要启用它,需要将support_fanout = True 添加到传输选项中。

但是仅添加该选项对我不起作用,我无法弄清楚我缺少什么。可能的选项是:

  • SimpleDB - 我什至不清楚如何启用 SimpleDB。我确实在 AWS 中看到了文档,但我不认为它是一项单独的服务。
  • 要添加任何其他配置吗?
  • 简单看一下 SQS 代码,似乎 SimpleDB 是唯一的选择。对吗?
  • 还有其他在 SQS 上启用任务撤销的选项吗?

在我的app.celery 我有:

app = Celery('app',
    broker=''sqs://<Access key>:<secret key>@')),
    backend='cache+memcached://<host>:11211/')),
)

在我的app.settings 我有:

CELERY_BROKER_URL='sqs://<access key>:<secret key>@'))
CELERY_BROKER_TRANSPORT_OPTIONS = {
    'region': '<region>',
    'supports_fanout': True,
}
CELERY_DEFAULT_QUEUE = 'app'
CELERY_DEFAULT_EXCHANGE = 'app'
CELERY_DEFAULT_ROUTING_KEY = 'app'

【问题讨论】:

    标签: django celery amazon-simpledb kombu


    【解决方案1】:

    我的最终解决方案是将 Amazon MQ 与 RabbitMQ 实例一起使用。 Amazon SimpleDB 似乎已经不复存在,使得 Celery+Kombu 中的任何支持都过时和损坏。

    【讨论】:

      猜你喜欢
      • 2018-02-11
      • 2023-03-25
      • 2016-10-21
      • 1970-01-01
      • 2012-12-01
      • 2014-07-10
      • 2017-05-09
      • 2018-07-18
      • 2015-05-06
      相关资源
      最近更新 更多