Run bounded workers with retries, failure events and graceful shutdown.
Use BullMQ 5 to produce Redis-backed jobs, run workers, distinguish completion/retry/permanent failure and close workers gracefully. Use for queue workflows with explicit connection ownership and idempotent side effects without adopting other-major APIs.