Solace Queue Browser Using Python
Was wondering if anyone has had any luck with building a queue browser using Python & the Solace Python API?
I have seen some queue browsing options using SDKPerf & Java (including the Chrome Browser) but I was hoping to do something similar but with Python. It's also worth noting while the Chrome Browser tool is great, some organizations including mine don't allow extensions and chrome as a browser has been discontinued.
In the past we have also used JMSToolbox but have found it has a great amount of difficulty viewing payloads of queues with a large quantity of messages, so doesn't scale very well.
I have had trouble finding any repositories with using the Python API so thought I would start a discussion here.
Comments
-
Hi @AllenW. Queue browsing isn't supported yet in the Python API unfortunately. https://docs.solace.com/API/API-Developer-Guide/Feature-Support-PubSub-Messaging-APIs.htm
If you want to try a queue browsing app that kicks JMSToolBox in terms of performance, try my PrettyDump console utility: https://github.com/SolaceLabs/solace-pretty-dump I just released v1.1 today. Needs either Java 8+, or Docker.
It's been used by a lot of our customers… and quite a few after having JMSToolBox die or being unable to parse really large messages or really deep queues. It can parse multi-megabyte XML or JSON payloads, browse super deep queues until the end, filter messages either at the broker using Selectors, or do client-side payload filtering. Can hide payloads too if you just want to dump headers/metadata.
Check it out!
2 -
That's a great question! While I haven’t come across many dedicated repositories for a queue browser using the Solace Python API, I think building one from scratch could be a fun challenge. You could leverage the API to fetch message details and display them in a simple GUI using libraries like Tkinter or PyQt. If you're looking for an alternative approach, perhaps using Flask to create a web-based interface might work, too. I’d love to hear if anyone else has experience with this or any insights on best practices!
0