zlacker

[parent] [thread] 1 comments
1. zapsta+(OP)[view] [source] 2021-06-12 11:21:27
I have done something similar to this to implement queues in Postgres. And at quite a large scale with lots of workers all pulling items off the queue at once.

One huge advantage over, say, SQS, is that you also get easy visibility! You can query and see what’s been completed, what’s still not worked on, etc.!

Oh, and do you want a priority queue? Just add a priority field and sort before picking an item! Do you need to change the priority of an item while it’s already in the queue? Go right ahead. Do you want to enforce some constraints so that duplicates don’t get added to the queue? It’s a database — add the constraints.

If you’re already using a relational database, and now you need a queue, start with this approach. Odds are, it’ll work just fine, and it’ll give you the perks above.

replies(1): >>Gordon+Ty
2. Gordon+Ty[view] [source] 2021-06-12 17:09:08
>>zapsta+(OP)
Interesting! What kind of scale did you run it at?

Also keen to know if you saw any disadvantages with this approach?

[go to top]