4 ms·
Hi folks OP here. Here's my side project StarQueue which is a free message queue. I built it because I wanted to see if it was possible to implement something
by andrewstuart 5y ago
Hi folks OP here.
Here's my side project StarQueue which is a free message queue.
I built it because I wanted to see if it was possible to implement something similar to SQS using Postgres as a back end. I actually implemented the back end in Postgres, MySQL and also SQL server and they all work fine. I chose Postgres in the end because of personal preference. I tried to implement the same back end in Oracle and the experience or using Oracle was horrifying so I dropped that. I tried to implement for IBM DB2 but that got hard for reasons I can't recall so I dropped that too.
It's written in async Python using the Starlette framework.
It's in beta at the moment. Let me know if you notice any problems.
- dissent 5y agoIs it too late to rename it FarQueue?
- andrewstuart 5y agoHa ha! I did consider “NearQueue”.
- grzm 5y agoI encourage you to nickname it Tony.
- mdaniel 5y agoCongratulations on your launch, and for providing a public utility :-) I would love to see metrics on how hard the wild Internet makes your python and PG work, if you wanted to create /stats.html one day in the future It wasn't clear if you wanted commentary here, or via your contact form, so ... I was surprised that the JWT is being sent as a POST param, instead of its more traditional place in an Authorization header Kind of related, kind of not: I was also surprised to see the API request include the accountId in the URI when it's present in the JWT -- is that an implementation concession allowing a future where one AccountId (from the auth perspective) is able to control multiple "{accountId}" URIs? Definitely related to that: I was surprised to see the QueuesList response send back what I presume is the same accountid that was present in the URI, repeated for every QueueName I think the MessageReceive example copy-pasted the "MessageBody" field from its MessageSend friend, and the MessageDelete example is missing its "ReceiptHandles" that is mentioned in the description Good luck on your adventure!
- andrewstuart 5y agoGreat questions. I added the JWT late in the project and it needed the accountid in it which explains the duplication. As to why the token is in the body not the header, honestly it was expedience. Thanks for your thoughtful analysis.