英文:
Can we read or consume multiple messages with only one call from queue using solace python api
问题
我有一个队列,有多个主题订阅它。我发布了多条消息到不同的主题,我想通过只做一个调用来读取所有这些消息。如何使用Solace Python API实现这一点?
我尝试使用Solace PubSub+包中的持久消息接收器模块。
英文:
I have a queue with multiple topics subscribed to it. I published multiple messages to various topics and I want to read all those messages by making only one call. How to achieve this using solace python apis
I tried using persistent message receiver module in solace-pubsubplus package
答案1
得分: 2
Solace消息传递是异步传递。您不需要请求队列将所有消息发送给您,而是您的应用程序会绑定到队列一次,然后每次消息落入队列时,您的应用程序会被触发。这样可以防止您不断地每隔几秒钟询问“队列上是否还有更多消息”。
如果您需要一次处理多条消息,那么您的应用程序可以等待更多消息到达,然后批量处理它们。通常情况下,您的应用程序会在处理消息之前将其存储X秒或直到获得Y条消息,然后进行处理并确认它们。只需确保在等待其他消息到达时不要阻塞回调/onMessage线程。
这不显示批量消息处理,但是这是一个使用Python从Solace队列消费的示例。https://github.com/SolaceSamples/solace-samples-python/blob/main/patterns/guaranteed_subscriber.py
英文:
Solace messaging is async delivery. You don't request a queue to send you all the message on it, but rather your app would bind to the queue once and then your app essentially gets triggered each time a message lands on the queue. This prevents you from continually having to say "are there any more messages on the queue?" every few seconds.
If you need to process multiple messages at once then your app can wait for more messages to arrive before processing them in bulk in your app. Usually your app would store the messages for X seconds or until it gets Y messages before processing them and then ACKing them. Just be sure not to block the callback/onMessage thread while you are waiting for other messages to come in.
This doesn't show the bulk message processing, but is an example of consuming using Python from a Solace queue. https://github.com/SolaceSamples/solace-samples-python/blob/main/patterns/guaranteed_subscriber.py
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论