Choose Postgres queue technology
For several projects I’ve opted for the even dumber approach, that works out of the box with every ORM/Query DSL framework in every language: using a normal table with SELECT FOR UPDATE SKIP LOCKED<p><a href="https://www.pgcasts.com/episodes/the-skip-locked-feature-in-postgres-9-5" rel="nofollow noreferrer">https://www.pgcasts.com/episodes/the-skip-locked-feature-in-...</a><p>It’s not “web scale” but it easily extends to several thousand background jobs in my experience