问题标签 [python-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.
rabbitmq - pika 中 add_callback_threadsafe() 方法有什么用?
从pika
文档中的描述中,我无法完全了解add_callback_threadsafe()
方法的作用。它说,“在此连接线程的上下文中尽快请求调用给定函数”。具体来说,这个回调与哪个事件相关联?由于add_callback_threadsafe()
没有收到任何“事件”参数,如何pika
知道何时调用该回调?
另外,在官方的例子中,为什么我们甚至需要在 do_work() 方法中构建偏函数并注册回调?我们不能在ack_message()
结束后调用方法time.sleep()
吗?
amazon-web-services - 远程连接到 RabbitMQ 实例(在 AWS 上创建)
我无法连接到 RabbitMQ 实例(这是我第一次这样做)。我已经在 AWS 上启动了一个,并且可以访问我能够访问的管理面板。
我正在尝试使用以下代码连接到 python/pika 中的 RabbitMQ 服务器:
pika.exceptions.IncompatibleProtocolError: StreamLostError: ("Stream connection lost: ConnectionResetError(54, 'Connection reset by peer')",)
当我运行上述内容时,我得到了。
python - 如何重新连接rabbitMQ pika python?
如果连接丢失,有没有办法“重新连接”到rabbitMQ?如何重新连接到rabbitmq?最好的方法是什么?有什么“策略”吗?
python-3.x - Rabbitmq pika 缺少心跳
以下是我的要求。
- 拥有一个可重复用于跨多个线程发布的连接池
- 在单独的连接上使用
所以我尝试测试一些构建连接池的解决方案。
当我运行上面的连接时,连接被创建并且它保持空闲直到主线程完成。所以它可以工作,但我检查了 rabbitmq 日志,它显示以下内容
所以这里发生的是连接关闭,因为客户端没有发送心跳。当我尝试实现连接池时,这会产生一个问题。当我创建连接池时,它会自动关闭。
我可以找到的解决方法是将心跳设置为 0,这意味着我正在禁用心跳检查(不推荐)。有没有人有解决方法?
提前致谢
python - 如何在 pika 中运行异步 basic_consume
我想在 pika basic_consume 中运行消息回调异步。这可能吗?怎么做?我们已经为其他任务运行了一个异步循环,这个消费者使用带有异步连接的 httpx 来调用内部服务。
这是我们当前的 Consumer 类:
docker - 运行 docker compose 时 pika 异常 amqpconnectionerror 错误
我有一个依赖于rabbitmq 的python docker 容器。我尝试使用 docker-compose 文件链接这两个容器:
我在 python 应用程序容器中收到以下错误 -
这是 AMQP_SERVER_URL=amqp://guest:guest@localhost:5672,
我尝试先运行 rabbitmq 容器,然后运行 python 容器来检查它是否有效,但它会引发相同的错误。
python - 发布者/消费者用于在 eth0 int 中捕获 AMQP 包,但是当我运行此代码时,我只能在环回接口中捕获数据包
目前我只能在环回接口中捕获数据包,我在rabbitmq.conf中设置了tcp默认值,一切似乎都很好,但我相信pika.blockingconnection不允许我通过wireshark中的etho/epsn03接口捕获数据包和使用 ubuntu 20.04
链接到这里的代码。
请分享任何建议和解决方案。
rabbitmq - 当我从 API 热加载数据时,RabbitMQ 以 EOF 终止,但是如果我将它们保存到磁盘并运行它并运行结果它可以工作
我目前正在将一些数据加载到数据框中,从网络上提取几个代码(证券)的数据,我想遍历这些证券并在特定队列中创建消息。
我有以下代码应该按预期工作。
================== 输出 ======================
Buuuut,如果我不尝试在队列中分派消息,而是将它们保存到 .json 文件中,而不是从 API 获取“热”数据,而是加载先前创建的文件,它可以正常工作。我无法理解为什么会发生这种情况,因为我没有理由相信我正在访问的 API 和本地 rabbitmq 服务器之间存在冲突
python - pika.exceptions.IncompatibleProtocolError: StreamLostError: ('传输指示 EOF',)
我在我的python脚本中使用 pika 时遇到错误,它将从 rabbitmq 获取输入并将处理它并应该等待下一个,但是队列为空的我遇到错误,它不应该给出任何错误脚本应该启动并等待下一条消息的到来。
我的 python 代码看起来像:
任何人都可以在这里帮助我吗?