https://github.com/starqueue/starqueue/
This is a project I wrote and since I am doing nothing with it any more I thought I would publish the source code in case anyone finds it interesting. I wrote this at a time that I was finding message queues interesting.
StarQueue is a message queue server written in Python.
It is designed to be a more simple copy of Amazon Simple Queue Server.
Clients access it via HTTP. The API is documented at https://github.com/starqueue/starqueue/tree/main/starqueueserver/website
The database is Postgres.
When I developed it initially, I included seamless support for Postgres, MySQL and Microsoft SQL server.
At some point in the development I gave up on all databases except Postgres, though I have left the MySQL and SQL server code in place.
I deployed StarQueue as an online service at one point (no longer online). This github repo is a copy of the source code for that service.
This project is not live and is archived, but I have posted it here in case anyone finds the source code interesting.
After I finished StarQueue I found it frustrating that StarQueue's Python based/db backed message queue is not fast, so I wrote a prototype HTTP message queue in Rust, which saved its messages as plain files on the file system, using the fact that Linux's move is atomic to ensure message could not be double handled - that was so fast it easily maxed out the hard disk write speed and left many other message queue systems behind with 30,000 messages a second. Frustrated by the speed limit of the hard disk I updated the prototype to operate as RAM only and that was able to handle about 8 million messages a second. More important things came up for me to do, and I never got that Rust project to completion.