正在为每个芹菜任务创建新的RabbitMQ队列

正在为每个芹菜任务创建新的RabbitMQ队列,rabbitmq,celery,Rabbitmq,Celery,我正在使用芹菜3.1和rabbitmq作为代理。 问题是当我发布一个任务(即task.delay())时,消息将被接收 在rabbitmq中创建,回复头包含uniqueid(比如123)。 由于这个原因,rabbitmq正在创建一个名为123的队列,并且对于发布的每个任务都会发生这种情况 假设我运行一个任务10次,就会创建10个回复队列。我甚至不想回复到rabbitmq,目前我将芹菜\u结果\u后端配置为rpc 经纪人amqp://guest@localhost/' 芹菜\u结果\u后端='rp

我正在使用芹菜3.1和rabbitmq作为代理。
问题是当我发布一个任务(即task.delay())时,消息将被接收 在rabbitmq中创建,回复头包含uniqueid(比如123)。 由于这个原因,rabbitmq正在创建一个名为123的队列,并且对于发布的每个任务都会发生这种情况

假设我运行一个任务10次,就会创建10个回复队列。我甚至不想回复到rabbitmq,目前我将芹菜\u结果\u后端配置为rpc

经纪人amqp://guest@localhost/' 芹菜\u结果\u后端='rpc://'

任务 @app.task(name=“tasks.multiplynumbers”,bind=True,default\u retry\u delay=5,max\u retries=2,serializer='json',acks\u late=True,track\u start=True)

def倍增(自身、x、y):

信息如下:

回复:40872e4f-10fc-313d-a48d-13aa94419f20

相关性识别号:25d6f28a-9b18-49c0-950c-19af7af52770

优先级:0

交付方式:2

标题: 内容编码:utf-8

内容类型:应用程序/json

有效载荷

265字节 编码:字符串 {“taskset”:null,“task”:“reotasks.multilynumbers”,“errbacks”:null,“timelimit”:[null,null],“callbacks”:null,“utc”:true,“chord”:null,“expires”:null,“args”:[3,8],“retries”:0,“id”:“25d6f28a-9b18-49c0-950c-19af7af52770”,“eta”

发布上述消息时,将创建一个名为40872e4f-10fc-313d-a48d-13aa94419f20的队列


有人遇到过这种情况吗?非常感谢您的帮助

经过进一步的研究,我发现当celery\u result\u backend设置为“rpc://”并使用rabbitmq作为代理时,似乎每个任务都会以reply to header发布,并且会根据以下链接中的信息创建一个新队列:

如果我们能够控制将结果发布到哪个队列,以及处理重复的最佳实践,那就太好了
try:

    return x * y

except Exception as exc:

    raise self.retry(exc=exc)