问题标签 [stomp.py]
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 - 将 stomp.py 消费者/生产者放在 Flask-Gunicorn python 应用程序中
我有一个由Gunicorn托管的现有烧瓶应用程序(有一堆 REST api)。我还必须在同一个应用程序中从AmazonMQ发送和接收消息。我有使用stomp.py从 AmazonMQ 发送/接收消息的功能,但我不确定将它们放置在哪里,或者我应该如何使用它们以保持现有流完整
ssl - ActiveMQ:无法通过 Stomp 启用 SSL
我是一个新的 ActiveMQ 用户,试图通过 ActiveMQ 启用 SSL over Stomp。以前,我已经为 CMS 启用了 SSL over openwire,并且我尝试使用 CMS 的证书设置和 Stomp 的新证书设置。
这是我的证书设置
创建代理密钥库:
为 CMS 客户端创建密钥库:
为代理和客户端创建信任库和导入证书
将代理密钥库转换为 p12 格式以导出为 CMS 客户端的 .pem 格式:
将客户端密钥库转换为 p12 格式以导出为 CMS 客户端的 .pem 格式。我还获取了 .key 文件以使用 Stomp.py 进行测试
下面是一些专门使用 Stomp 生成的证书
这是我与 Stomp.py 建立连接的方式
我也尝试过 CMS 证书。
这是我当前配置的内容activemq.xml
ACTIVEMQ_SSL_OPTS
设置为:
这是我在尝试连接 Stomp 时遇到的错误
python - Python stomp.py 连接断开,监听器停止工作
我正在使用 python stomp 库编写一个 python 脚本来连接和订阅 ActiveMQ 消息队列。
我的代码与文档“处理断开连接”中的示例非常相似,其中添加了将计时器放置在循环中以供长时间运行的侦听器使用。
侦听器类正在接收和处理消息。但是几分钟后,连接断开,然后侦听器停止接收消息。
问题:
正在调用 on_disconnected 方法,该方法运行 connect_and_subscribe() 方法,但是在发生这种情况后,侦听器似乎停止工作。也许监听器需要重新初始化?脚本再次运行后,监听器被重新创建,它再次开始接收消息,但是定期再次运行脚本是不切实际的。
问题 1:如何设置它以自动重新连接并重新创建侦听器?
问题 2:有没有更好的方法来初始化长时间运行的侦听器而不是超时循环?
python - 一段时间后,Stomp 监听器正在下降,但程序正在运行而没有显示任何错误
我在 Activemq 队列上有一个 stomp 侦听器,它在启动一段时间后会自行丢弃。程序本身没有显示错误并显示为运行状态,但 Activemq UI 上列出的侦听器在一段时间后仅显示 0。我正在使用此代码
activemq-artemis - 即使在所有消息都被消费和确认之后,消息计数也不为零
我们已经将 ActiveMQ Artemis 2.16.0 容器化,并将其部署为KEDA的 K8s 部署。
我们使用 STOMP 使用 stomp.py python 模块。ACK 模式在连接上设置为client-individual
and consumerWindowSize
= 0。我们会在阅读该消息后立即予以确认。
问题是,有时,即使在所有消息都被实际使用和确认之后,Web 控制台中的消息计数也不会变为零。当我浏览队列时,我看不到其中的任何消息。这导致 KEDA 不必要地启动 pod。有关此问题,请参阅我在 JIRA 中附加的屏幕截图。
python - AWS ActiveMQ 从消费者获取消息并发送到队列
我正在尝试从消费者那里获取消息并将其发送到队列。为此,我正在使用Stomp.py
文章和帖子后,我编写了以下代码:
使用此代码,我可以向其发送消息,Test_QUEUE
但无法从消费者那里获取所有消息。如何从消费者那里提取所有消息并发布到队列进行处理。
python - 在 stomp.py 中实现心跳
我在我们的 stomp.py 7.0 客户端(仅限侦听器)中看到了行为,在一段时间未接收消息的空闲时间之后,ActiveMQ 5.15.9 代理似乎放弃了客户端(即查看 ActiveMQ 管理控制台显示零消费者)。奇怪的是on_disconnected
客户端的处理程序永远不会被调用,并且我们对检查连接的客户端服务进行了健康检查is_connected()
,但它仍然返回 true。
根据我的理解/研究(如果有任何错误,请更正)这是由于经纪人试图清理它认为不活动的资源。同样根据我的研究,“心跳”可以用来避免对经纪人的这种看法。
我知道如何从客户端发送心跳标头以及如何检查来自服务器/代理的响应(就它所期望的而言),on_connected
但我的问题是如何将实际的心跳从客户端发送到服务器/代理? 我需要在我正在收听的队列上发送消息吗?如果是这样,我如何发送“心跳消息”而不必调整侦听器中的消息处理代码?没有实体送吗?还需要将代理配置为接受心跳吗?如果未配置,则从客户端声明和发送它们仍会导致代理断开客户端连接?