问题标签 [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.
python - 我如何将参数传递给 pika 回调
我使用 pika 与 RabbitMQ 服务器交互如下: 1. P1 向 RabbitMQ 发送消息 2. C1 是一个 pyqt4 桌面托盘应用程序,一旦收到就会显示上述消息。代码如下:
问题是我如何在 callback() 函数中调用 window.showMessage?提前谢谢,我是 Python 和 RabbitMQ 的新手。
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 函数来做到这一点......
谢谢,
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 时都会遇到的问题。一定有办法...
谢谢...任何帮助表示赞赏
asynchronous - 如何将 kombu 与 pika 异步一起使用?
我正在尝试使用kombu编写一个同时处理两条消息的服务器。我的交通工具是rabbitmq。
我相信答案是使用 kombu 和 pika-async。但是,似乎没有任何关于如何执行此操作的文档。
帮助?
python - 如何从 rabbitmq 消息中获取 pika python 中的 basicproperties 头字段?
这是来自道具的列表:
我可以打印正文和基本属性列表。但是我怎样才能得到标题呢?
函数中的所有#print 语句都出错了。
python - 找不到记录器“pika.adapters.blocking_connection”的处理程序
类似的问题似乎都基于使用自定义记录器,我很高兴只使用默认/无。我的 pika python 应用程序运行并接收消息,但几秒钟后崩溃No handlers could be found for logger "pika.adapters.blocking_connection"
,有什么想法吗?
通过添加修复:
python - Pika 中“queue_declare”的结果对象文档
在以下教程中:http://www.rabbitmq.com/tutorials/tutorial-three-python.html,有以下代码。
Pika 的“结果”对象记录在哪里?我想知道我可以从中获得的一切。
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 内存
python - 使用 python 生成 amqp 消息并使用 java 使用相同的消息
我正在尝试从 python 生成一条 amqp 消息并使用来自 java/spring 的相同消息。
这是我的生产者代码(python):
这是我的消费者代码(java):
这是 Person 的 java 类:
和相应的python类:
(位于trc/suivi/amqp目录结构中)
我得到一个类转换异常。我很确定这与包/模块名称或一些序列化问题有关......
编辑:我现在正在使用 JSon,我在 java 反序列化时得到了这个:
python - python通过rabbitmq传递二进制文件
我正在尝试通过 pika(rabbitmq 的 python 驱动程序)通过 rabbitmq 传递二进制文件
数据是我的二进制文件。我想将文件名作为参数传递,这样我就可以知道我排队到 rabbimq 的文件是什么。
我该怎么做?