当前位置: 首页 > 知识库问答 >
问题:

为什么芹菜在兔子mq中创建新的队列?

朱硕
2023-03-14

发送到芹菜的函数是使用装饰器指向我要使用的队列,例如:

@app.task(queue="celery")
def compare_from_database(row_id=None, database_name=None, table_name=None):
    ....

我创建了一个脚本来检查队列中还有多少任务,这只是命令的一个while循环

 rabbitmqctl list_queues

并用“芹菜”解析行

但由于芹菜会产生随机队列,我无法使用它。为什么芹菜正在创建新的队列,而不是真正将其发送到我想要的队列?

共有1个答案

盛城
2023-03-14

我猜你正在使用rpc作为你的celery_result_backend。您可以查看此链接 - https://tech.labs.oliverwyman.com/blog/2015/04/30/making-celery-play-nice-with-rabbitmq-and-bigwig/,他解释说RPC后端将为任务结果创建队列。

关于< code >结果-后端的更多解释,请点击此处查看我的回答=

 类似资料:
  • 我们正在使用spring云配置服务器。Spring配置客户端使用Spring控制总线(RabbitMQ)获取更新。 看起来每个配置客户端实例都会创建一个连接到'spring.cloud.bus'交换的队列。 对有多少应用程序实例可以连接到“spring.cloud.bus”交换有任何可伸缩性限制? 我想RabbitMQ可以扩展来处理这个问题。 寻找这方面的指导方针。 许多感谢,

  • 是否可以使用RabbitMQ主题交换实现以下场景。 假设我有两个队列: 队列1:路由关键字MainRoute。路线1 Queue2:路由密钥MainRoute.Route2 使用路由密钥发布邮件时: 主要路线。路线1- 主干道。路线2 - 主要路线- 是否可以实现这一点,而不需要实施一些特殊的过滤、路由过程? 如果没有,你能建议一个可能的解决方案吗? 谢谢你。

  • 问题内容: 我正在尝试创建Windows服务来启动Celery。我碰到了一篇使用Task Scheduler 来做的文章。但是,它似乎启动了许多芹菜实例,并不断消耗内存直到机器死机。有什么方法可以将其作为Windows服务启动吗? 问题答案: 我从另一个网站得到了答案。Celeryd(Celery的守护程序服务)作为粘贴应用程序运行,在这里搜索“ Paster Windows Service”会导

  • 现在,我想将< code>register事件发布到某个特殊的交换,我可以使用celery远程检索和处理它。 实际上,我已经使用了函数来实现这一点,但是它必须传递来指示应该执行哪个任务并消费它。所以它似乎不太适合我的目标。 我想要的就是这样: 向某些发布消息; 远程机器1订阅此或并捕获消息,用于执行任务; 远程机器2-与机器1相同但执行另一个任务-接收(可能需要回复某些) 例如,就像这个工作流一样

  • 由于芹菜是作业队列/任务队列,因此名称说明了它可以维护其任务并处理它们。那么为什么它需要像rabbymq或redis这样的消息代理呢?

  • 我已经安装了以下版本的芹菜和拉比MQ- 芹菜3.1。6 rabbitmq 3.1。1. 我可以从PHP向默认队列发布任务- 我的worker模块是用python编写的- 我像这样管理芹菜工人和客户- 这很有效。我在终端窗口1中看到以下输出: 但是我想要不同的队列。为了演示,假设我只需要一个名为demo的队列。所以我像这样管理我的芹菜工人- 但它不起作用。任务未得到执行。我猜这可能是因为PHP代码将