It's worth noting that there are several projects built on top of Redis pub-sub that add more functionality, such as BullMQ: https://github.com/taskforcesh/bullmq
Bull is great ! It's only NodeJS but I used it at work and it has been super easy to setup, use, and maintain.
We use Bull at $CURRJOB and it works great until there's an issue and for _some reason_ jobs stall. Getting into the nitty gritty to debug the Lua code was not a fun week. We moved onto RMQ for our needs on the next project and are looking at ways the replace Bull/Redis in the old project.
Exactly our experience. We had stalled jobs and lost jobs on both Bull and Kue.
We wrote a celery-like library for Node[0] and RMQ has been rock solid.