【问题标题】:Map queue/broker contents to tasks将队列/代理内容映射到任务
【发布时间】:2020-09-17 20:41:11
【问题描述】:

有没有办法将代理/队列中的消息内容映射到某个任务?我正在将 SQS 和 celery 用于工作人员架构,并且我的工作人员具有 python 任务/功能。我要做的是根据消息的内容调用一个任务。例如,如果我的员工定义了以下任务:

@celery.task
def add(message):
    pass

@celery.task
def subtract(message):
    pass

如果 SQS 队列中的消息有 {"operation":"add"} 则应调用 "add" 任务,如果消息有 {"operation":"subtract"} 则应调用 "subtract 任务"

【问题讨论】:

    标签: celery celery-task


    【解决方案1】:

    Celery 不消耗任意 SQS 消息。您必须使用正确配置的 Celery 实例和 apply_async()、delay() 或 send_task() 方法将 valid Celery 消息发送到 SQS 队列。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-24
      • 2019-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-15
      • 2019-03-20
      • 2013-12-29
      相关资源
      最近更新 更多