问题标签 [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 投票
1 回答
1141 浏览

django - 当我尝试启动芹菜时,没有名为“队列”的模块

我最近升级到 Python 3.3.5。在这一点上,我几乎已经让一切正常工作,但 celery/kombu 似乎很不开心。看来kombu中可能存在错误,但我不确定。我希望这是我缺少的东西。任何帮助将不胜感激。谢谢。

0 投票
0 回答
476 浏览

python - Rabbitmq 达到文件描述符限制导致客户端无限期挂起

在遇到我的 rabbitmq 服务器达到其文件描述符限制并停止接受任何新连接的问题后,我注意到我的客户端从队列中消费的行为非常不受欢迎。

当试图打开他们的连接时,他们无限期地挂起而不会抛出任何错误..

我目前正在使用 Kombu 库,并且在重新创建问题后,再怎么调整连接参数都不会阻止连接实例化无限期阻塞。超时不会触发,启用心跳也无济于事。看着strace我看到它打开了与rabbitmq服务器的连接,然后永远等待数据。

我也刚刚尝试使用 Pika 库并遇到了同样的问题。不同之处在于strace显示正在轮询的连接。但是,连接实例化仍然无限期地阻塞。

有什么我想念的吗?当出现问题时,打开与您的 rabbitmq 服务器的连接而不会永远挂起的正确方法是什么?

编辑:

这是一些代码,它几乎是你好世界..

鼠兔:

昆布:

0 投票
1 回答
1078 浏览

python - Kombu ConsumerMixin 关闭队列以防止扇出数据接收

如何关闭连接到扇出交换的 Kombu ConsumerMixin 队列,以便在我的消费者不活动时不会从发布者累积数据?

我在 Python 2.7 中使用 Kombu 3.0.24(带有 RabbitMQ)。

下面是我的两个类的代码。我希望这些是相当通用的类,因此我可以将它们重用于直接队列和类似 RPC 的查询/回复。

问题是,如果我停止并重新启动消费者,旧数据会在消费者队列中等待我。我认为这是因为我需要在停止消费者时删除队列,但我不知道如何。谢谢。

消息消费者.py

消息发布者.py

如果我有更有效的编码方式,请提出建议。我通过谷歌搜索找到的大多数示例都使用旧版本的 Kombu,因此我很难找出 3.0.24 的最佳实现。

0 投票
0 回答
708 浏览

python - 无法从kombu导入任何东西

我在这里很困惑。我正在逐字跟踪kombu docs。我在虚拟环境中运行。有没有人有类似的问题?

0 投票
1 回答
649 浏览

python - 海带生产者和芹菜消费者

kombu 生产者是否可以在rabbitmq 上排队一条消息以由芹菜工人处理?芹菜工人似乎不明白昆布生产者的信息。

0 投票
0 回答
193 浏览

python - 想做一个消费者,不确定kombu是否足够或者我还需要实现Celery

我正在为rabbtMQ制作消费者。我正在使用 python,经过研究我决定使用 Kombu。使用 Kombu,我已经连接到 rabbit 中的队列并阅读了消息。代码是

它似乎有效,但我经常看到芹菜和昆布一起使用。我只需要使用队列中的消息,Kombu 就足够了,或者我也应该集成 Celery。如果是这样,有没有人有一个很好的例子,我找到了例子,但我不清楚。我也想让我的队列durable=false,但消费者似乎默认有durable =true。我怎样才能改变这个?

谢谢你的帮助!

0 投票
0 回答
96 浏览

python - 如何将 kombu Consumer 与 sockjs-cyclone 一起使用?

我有各种应用程序将消息推送到 RabbitMQ,我希望我的sockjs-cyclone服务器使用这些消息并将它们推送到 websocket 客户端。我想kombu用作我的 RabbitMQ 消费者库,但我不知道将消费者放在哪里以及kombu's应该使用消费者界面的哪些部分。

我至少陷入了以下精神障碍:

  • 我显然需要从我的内部消费,SockJSConnection以便我可以访问self.sendMessage
  • 但我不认为我可以使用kombu's Connection.drain_eventsSimpleQueue.get从那里的任何地方使用,因为这些是同步的阻塞调用。

有没有整合这两个库的好方法?

0 投票
2 回答
3208 浏览

python - Kombu/Celery 消息传递

我有一个简单的应用程序,它发送和接收消息、kombu,并使用 Celery 来处理消息。Kombu alon,我可以正确接收消息。当我发送“Hello”时,kombu 会收到“Hello”。但是当我添加任务时,kombu 收到的是芹菜的任务 ID。

我对这个项目的目的是让我可以安排何时发送和接收消息,因此是 Celery。

我想知道的是为什么kombu会收到任务ID而不是发送的消息?我找了又找,没有找到关于这件事的任何相关结果。我是使用此应用程序的初学者,我希望能在解决此问题方面提供一些帮助。

我的代码:

任务.py

发送.py

接收.py

我在用:

我发送的内容:

什么kombu收到:

0 投票
1 回答
182 浏览

python - 当 EC2 实例停止或终止时,RabbitMQ 连接不会自动关闭

我使用 python 的 Kombu (3.0.26) 和 librabbitmq 连接器连接到 EC2 实例上 AWS 中的 rabbitmq。当我启动和停止应用程序时,与兔子的连接会按预期出现并消失。当我再次使用 TERM 或 KILL 终止应用程序时,连接会在 rabbitmq 上按预期消失。

但是,如果我使用 AWS 控制台停止或终止实例,则连接将永久保留在 rabbitmq 上,直到我进入并强制关闭连接。

我可以通过在应用程序上添加 AMQP 心跳来解决这个问题,并弄清楚如何不断地 ping 应用程序仍然存在的服务器。但是,如果心跳没有及时通信,我有一些阻塞调用可能会过早地终止连接。我宁愿rabbitmq服务器只是找出TCP连接已死并关闭连接。

当 ec2 实例停止或终止时,是否有人遇到过连接问题?

0 投票
0 回答
494 浏览

python - kombu“慢”与内存传输

我正在尝试使用kombu来松散耦合我的软件的某些部分。由于我不需要持久性或进程间通信,我不想使用一些外部守护进程,所以我尝试了内存传输。我设置了一些测试代码

但是,如果我使用内存传输,则消息传递速度很慢,而如果我使用 - 例如 - reddis 传输,结果似乎还可以。内存示例:

雷迪斯示例:

似乎有一些与缓冲区/预取/队列/东西相关的问题,但我没有真正的线索。我不知道这是一些配置问题还是内存传输中的某种错误/限制。任何形式的帮助将不胜感激。