问题标签 [kombu]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
581 浏览

python - 如何在 Django 中使用 Kombu?

在 Django 中使用 Kombu 的正确方法是什么?这是我的工作代码,位于app_name/tasks.py

但是每次它想要发布消息时,它都会与交换建立新的连接。另外,我想在publish_metadata. 我想将消息推送到队列,而消费者不是 Celery。所以我不能使用 Celery,因为 Celery 给 body 添加了很多参数和东西。

0 投票
1 回答
557 浏览

python-2.7 - 我可以从我的 Python/kombu 客户端获取 RabbitMq 连接 ID 吗?

当我运行这个命令时:

我得到如下输出:

有没有办法从我的 Kombu 客户端读取这个 pid?

0 投票
1 回答
1904 浏览

python - 芹菜:socket.error 超时

我在用着:

芹菜工人开始了:

芹菜设置:

有时我会收到此错误:

RabbitMq 有默认设置。https://www.rabbitmq.com/configure.html

兔子日志:

最大套接字数:

我尝试通过以下方式解决此问题:

  1. 设置 BROKER_HEARTBEAT = 10 - 我遇到了更糟糕的情况
  2. 设置 BROKER_POOL_LIMIT = None - 与当前状态相比没有任何变化
  3. 将 BOKER_CONNECTION_TIMEOUT 设置为 10、20、30 - 更大的超时值带来更少的错误

我假设增加超时值只是隐藏了真正的问题。这个问题的原因是什么,我该如何解决?谢谢

0 投票
1 回答
716 浏览

python - 芹菜昆布在 self.connections.acquire 后失败

当我的 celery 服务在 7-10 天后运行时,我突然收到了这个异常,这导致我的任务无法处理。重新启动 celery 解决了这个问题。

软件版本

现在唯一的解决方法是重新启动。Ubuntu 14.04 2 GB RAM/2 CPU/40 GB 硬盘

0 投票
0 回答
429 浏览

python - 用于 RabbitMQ 的 Kombu 在 cancel_by_queue 之后不会调用回调方法

我从 RabbitMQ 写了一个简单的队列消费者(使用kombu):

在这段代码中,我向消费者添加了一个队列(“queue1”)并开始从中消费,并在每个 drain_event 之后使用 cancel_by_queue 删除队列。

我得到的结果是,在第一轮 drain_event 回调“handle_message”被调用,但在下一次迭代中没有。我用错了吗??

输出:

如果我把

在内部循环内部它可以工作 - 但我不想每次删除队列并再次开始消费时都创建一个新连接。

谢谢

亚尼夫

0 投票
2 回答
4335 浏览

python - Rabbitmq 错误:[Errno 10054] 现有连接被远程主机强行关闭

我在 Python 中使用 Kombu 来使用持久的 RabbitMQ 队列。

在 Windows 中只有一个消费者在消费队列。此消费者产生以下错误:

任何时候队列中最多有 500 条消息。每条消息都很小,但它是一项任务,最多需要 10 分钟才能完成(尽管每条消息通常需要不到 5 分钟)。

我尝试重新启动消费者、RabbitMQ 服务器并删除队列,但错误仍然存​​在。

我见过这个问题,但是答案来自 2010 年,我的 rabbitmq.log 有不同的条目:

rabbitmq-sasl.log 中没有最近的事件。

为什么会发生此错误,我该如何防止它发生?

0 投票
0 回答
344 浏览

amazon-elb - kombu/librabbitmq:ConnectionError:无法恢复频道

  1. 我正在使用生产者池组向 rabbitmq 发布消息,但是发布调用失败并出现以下错误:

.

  1. 奇怪的是,我收到此错误的消息之前的消息没有到达消费者端。我在 Connection 对象上使用 transport_options={'confirm_publish': True} ,该对象被传递给生产者池。

  2. rabbitmq 服务器位于 AWS 上的 ELB 后面。

关于上面这个错误的任何想法以及为什么消息可能会丢失?

谢谢。

0 投票
1 回答
175 浏览

rabbitmq - 用kombu创建rabbitmq vhost

我正在寻找一种使用kombu在rabbitmq中创建和配置虚拟主机的方法,但在文档中一无所获。有没有办法这样做?另外-rabbitmq(管理员除外)中是否有允许创建虚拟主机的权限/角色?

0 投票
1 回答
246 浏览

rabbitmq - 使用kombu从多个虚拟主机中消费队列

我有以下情况。我有一个虚拟主机列表。在每个虚拟主机中,我都有一个队列(所有虚拟主机中的名称相同)。有没有办法同时消耗队列?(我不想为每个虚拟主机创建一个单独的进程)我想要一个消费者,从所有队列中消费。
我正在使用kombu和rabbitmq。
谢谢

0 投票
1 回答
2494 浏览

python - 使用 Kombu ConsumerMixin,如何声明多个绑定?

我有一个名为 的 RabbitMQ 主题交换experiment。我正在构建一个消费者,我想在其中接收路由键以“foo”开头的所有消息以及路由键以“bar”开头的所有消息。

根据 RabbitMQ 文档,并根据我自己在管理 UI 中的实验,应该可以有一个交换、一个队列和两个连接它们的绑定(foo.#和)。bar.#

我不知道如何使用 Kombu 的 ConsumerMixin 来表达这一点。我觉得我应该能够做到:

...但它根本不喜欢那样。我也试过:

...但每次我尝试我都会得到:

......我猜鬃毛是有感觉的。但是,我在 mixin 的界面中看不到某个位置,一旦它们绑定到通道,我就可以轻松地挂接到队列上。这是基本(工作)代码:

...这有效,但只给我foo消息。除了为我感兴趣的每个路由键创建一个新队列并将它们全部传递给消费者之外,有没有一种干净的方法可以做到这一点?