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
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.