将队列/经纪人内容映射到任务

时间:2020-09-17 20:41:11

标签: celery celery-task

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

@celery.task
def add(message):
    pass

@celery.task
def subtract(message):
    pass

然后,如果SQS队列中的消息具有{“ operation”:“ add”},则应调用“ add”任务;如果消息具有{“ operation”:“ subtract”},则应具有“ subtract task”“ / p>

1 个答案:

答案 0 :(得分:0)

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