I feel like this is basically what the Rails world does. Sidekiq handles a lot of this for you and it's honestly an amazing tool.
It does rely on redis, but it's basically the same idea.
Same thing with Symfony and its Messenger component when setup to use a database.
In Rails 8 you have SolidQueue by default, which doesn't rely on redis