Comment by brightball
1 day ago
The way that Oban for Elixir and GoodJob for Ruby leverage PostgreSQL allows for very high throughput. It's not something that easily ports to other DBs.
1 day ago
The way that Oban for Elixir and GoodJob for Ruby leverage PostgreSQL allows for very high throughput. It's not something that easily ports to other DBs.
Appreciate the added context here, this is indeed some special sauce that challenges my prior assumptions!
Interesting. Any docs that explain what/how they do this?
A combination of LISTEN/NOTIFY for instantaneous reactivity, letting you get away with just periodic polling, and FOR UPDATE...SKIP LOCKED making it efficient and safe for parallel workers to grab tasks without co-ordination. It's actually covered in the article near the bottom there.
Thank you
Good Job is a strong attempt. I believe it's based around Advisory Locks though.
https://github.com/bensheldon/good_job