问题标签 [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.

0 投票
1 回答
185 浏览

python - 将 stomp.py 消费者/生产者放在 Flask-Gunicorn python 应用程序中

我有一个由Gunicorn托管的现有烧瓶应用程序(有一堆 REST api)。我还必须在同一个应用程序中从AmazonMQ发送和接收消息。我有使用stomp.py从 AmazonMQ 发送/接收消息的功能,但我不确定将它们放置在哪里,或者我应该如何使用它们以保持现有流完整

0 投票
2 回答
252 浏览

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 时遇到的错误

0 投票
1 回答
1095 浏览

python - Python stomp.py 连接断开,监听器停止工作

我正在使用 python stomp 库编写一个 python 脚本来连接和订阅 ActiveMQ 消息队列。

我的代码与文档“处理断开连接”中的示例非常相似,其中添加了将计时器放置在循环中以供长时间运行的侦听器使用。

侦听器类正在接收和处理消息。但是几分钟后,连接断开,然后侦听器停止接收消息。

问题:

正在调用 on_disconnected 方法,该方法运行 connect_and_subscribe() 方法,但是在发生这种情况后,侦听器似乎停止工作。也许监听器需要重新初始化?脚本再次运行后,监听器被重新创建,它再次开始接收消息,但是定期再次运行脚本是不切实际的。

问题 1:如何设置它以自动重新连接并重新创建侦听器?

问题 2:有没有更好的方法来初始化长时间运行的侦听器而不是超时循环

0 投票
1 回答
78 浏览

python - 一段时间后,Stomp 监听器正在下降,但程序正在运行而没有显示任何错误

我在 Activemq 队列上有一个 stomp 侦听器,它在启动一段时间后会自行丢弃。程序本身没有显示错误并显示为运行状态,但 Activemq UI 上列出的侦听器在一段时间后仅显示 0。我正在使用此代码

0 投票
1 回答
38 浏览

activemq-artemis - 即使在所有消息都被消费和确认之后,消息计数也不为零

我们已经将 ActiveMQ Artemis 2.16.0 容器化,并将其部署为KEDA的 K8s 部署。

我们使用 STOMP 使用 stomp.py python 模块。ACK 模式在连接上设置为client-individualand consumerWindowSize= 0。我们会在阅读该消息后立即予以确认。

问题是,有时,即使在所有消息都被实际使用和确认之后,Web 控制台中的消息计数也不会变为零。当我浏览队列时,我看不到其中的任何消息。这导致 KEDA 不必要地启动 pod。有关此问题,请参阅我在 JIRA 中附加的屏幕截图。

0 投票
1 回答
36 浏览

python - AWS ActiveMQ 从消费者获取消息并发送到队列

我正在尝试从消费者那里获取消息并将其发送到队列。为此,我正在使用Stomp.py文章和帖子后,我编写了以下代码:

使用此代码,我可以向其发送消息,Test_QUEUE但无法从消费者那里获取所有消息。如何从消费者那里提取所有消息并发布到队列进行处理。

0 投票
1 回答
38 浏览

python - 在 stomp.py 中实现心跳

我在我们的 stomp.py 7.0 客户端(仅限侦听器)中看到了行为,在一段时间未接收消息的空闲时间之后,ActiveMQ 5.15.9 代理似乎放弃了客户端(即查看 ActiveMQ 管理控制台显示零消费者)。奇怪的是on_disconnected客户端的处理程序永远不会被调用,并且我们对检查连接的客户端服务进行了健康检查is_connected(),但它仍然返回 true。

根据我的理解/研究(如果有任何错误,请更正)这是由于经纪人试图清理它认为不活动的资源。同样根据我的研究,“心跳”可以用来避免对经纪人的这种看法。

我知道如何从客户端发送心跳标头以及如何检查来自服务器/代理的响应(就它所期望的而言),on_connected但我的问题是如何将实际的心跳从客户端发送到服务器/代理? 我需要在我正在收听的队列上发送消息吗?如果是这样,我如何发送“心跳消息”而不必调整侦听器中的消息处理代码?没有实体送吗?还需要将代理配置为接受心跳吗?如果未配置,则从客户端声明和发送它们仍会导致代理断开客户端连接?