问题标签 [pika]

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 投票
3 回答
6042 浏览

python - 我如何将参数传递给 pika 回调

我使用 pika 与 RabbitMQ 服务器交互如下: 1. P1 向 RabbitMQ 发送消息 2. C1 是一个 pyqt4 桌面托盘应用程序,一旦收到就会显示上述消息。代码如下:

问题是我如何在 callback() 函数中调用 window.showMessage?提前谢谢,我是 Python 和 RabbitMQ 的新手。

0 投票
2 回答
11511 浏览

python - 在 Pika 或 RabbitMQ 中,如何检查当前是否有任何消费者正在消费?

我想检查消费者/工人是否存在消费我即将发送的消息。

如果没有任何Worker,我会启动一些工人(消费者和发布者都在一台机器上),然后开始发布Messages

如果有类似的功能connection.check_if_has_consumers,我会像这样实现它 -

check_if_has_consumers但是我在pika中找不到任何具有功能的功能。

有没有办法使用pika来完成这个?或者,直接与兔子交谈

我不完全确定,但我真的认为RabbitMQ会知道订阅不同队列的消费者数量,因为它确实向他们发送消息并接受确认

我 3 小时前刚开始使用RabbitMQ ......欢迎任何帮助......

这是我写的workers.py代码,如果有帮助的话....

编辑:

我必须继续前进,所以这是我要采取的解决方法,除非出现更好的方法,

所以,RabbitMQ有这些HTTP 管理 api,它们在你打开管理插件后工作,并且在 HTTP api 页面中间有

/api/connections - 所有打开的连接的列表。

/api/connections/name - 单个连接。删除它将关闭连接。

所以,如果我通过不同的连接名称/用户连接我的工人产品,我将能够检查工人连接是否打开......(工人死亡时可能会出现问题......)

将等待更好的解决方案...

编辑:

刚刚在 rabbitmq 文档中找到了这个,但这在 python 中会很麻烦:

所以我可以做类似的事情,

hacky ......仍然希望 pika 有一些 python 函数来做到这一点......

谢谢,

0 投票
1 回答
1885 浏览

python - Django - 在 apache 每个请求创建的所有进程之间共享 RabbitMQ 连接?

我的堆栈是Django 1.3(Python 2.7) + Apache + mod_wsgi

Apache为每个请求生成一个新进程......有时在这些请求中,我必须向RabbitMQ发布一条消息,说明稍后要完成的一些繁重任务(比如通知某人的关注者他们刚刚发布的猫照片)。

发布涉及与RabbitMQ建立连接,这很昂贵。(请参阅这个 SO 问题:RabbitMQ 创建连接是一项昂贵的操作

我也很遗憾地意识到 Python 无法跨进程共享内存......叹息:(

在这种情况下,如何防止每个 apache 请求创建和关闭 RabbitMQ 连接的开销?

为了清晰,这里使用 RabbitMQ + pika 是我在进程之间共享连接的失败尝试:

在服务器设置(Django + Apache + mod_wsgi)'NEW CONNECTION'中打印每个请求test_view

这似乎是任何人在使用 Django 和 RabbitMQ 时都会遇到的问题。一定有办法...

谢谢...任何帮助表示赞赏

0 投票
1 回答
518 浏览

asynchronous - 如何将 kombu 与 pika 异步一起使用?

我正在尝试使用kombu编写一个同时处理两条消息的服务器。我的交通工具是rabbitmq。

我相信答案是使用 kombu 和 pika-async。但是,似乎没有任何关于如何执行此操作的文档。

帮助?

0 投票
1 回答
5352 浏览

python - 如何从 rabbitmq 消息中获取 pika python 中的 basicproperties 头字段?

这是来自道具的列表:

我可以打印正文和基本属性列表。但是我怎样才能得到标题呢?

函数中的所有#print 语句都出错了。

0 投票
2 回答
8037 浏览

python - 找不到记录器“pika.adapters.blocking_connection”的处理程序

类似的问题似乎都基于使用自定义记录器,我很高兴只使用默认/无。我的 pika python 应用程序运行并接收消息,但几秒钟后崩溃No handlers could be found for logger "pika.adapters.blocking_connection",有什么想法吗?

通过添加修复:

0 投票
1 回答
1313 浏览

python - Pika 中“queue_declare”的结果对象文档

在以下教程中:http://www.rabbitmq.com/tutorials/tutorial-three-python.html,有以下代码。

Pika 的“结果”对象记录在哪里?我想知道我可以从中获得的一切。

0 投票
1 回答
3524 浏览

rabbitmq - 错过太多心跳后应用程序崩溃

我有一个应用程序将负载分配给一群工人。到目前为止,所有工作人员都在同一个 VM 上运行,还不需要扩展。我的问题是,就像每 3-4 天一样,工作人员崩溃并显示以下错误消息 - 客户端和 rabbitmq 服务器在 1200 秒内没有联系(我猜)。

我的问题是,什么可能导致这种情况?这只发生在大约三分之一的工作人员身上,其他工作人员运行良好,没有任何错误消息或警告(同样,所有工作人员和 rabbitmq-server 在同一个 VM 上)。我正在使用 Python 库 pika 中的标准方法 start_sumption() 来检索新请求。这里的代码太大了,考虑到错误消息,它似乎超出了我的代码或系统问题。

我正在使用:

  • Python 鼠兔 0.9.8
  • 兔MQ 3.0.0
  • Debian 6.0
  • 所有工作人员都在屏幕内启动
  • 虚拟机托管在 Linode,512MB 内存
0 投票
2 回答
1684 浏览

python - 使用 python 生成 amqp 消息并使用 java 使用相同的消息

我正在尝试从 python 生成一条 amqp 消息并使用来自 java/spring 的相同消息。

这是我的生产者代码(python):

这是我的消费者代码(java):

这是 Person 的 java 类:

和相应的python类:

(位于trc/suivi/amqp目录结构中)

我得到一个类转换异常。我很确定这与包/模块名称或一些序列化问题有关......

编辑:我现在正在使用 JSon,我在 java 反序列化时得到了这个:

0 投票
1 回答
3242 浏览

python - python通过rabbitmq传递二进制文件

我正在尝试通过 pika(rabbitmq 的 python 驱动程序)通过 rabbitmq 传递二进制文件

数据是我的二进制文件。我想将文件名作为参数传递,这样我就可以知道我排队到 rabbimq 的文件是什么。

我该怎么做?