diff --git a/rq/worker.py b/rq/worker.py index 8176b27..e0c10f3 100644 --- a/rq/worker.py +++ b/rq/worker.py @@ -590,7 +590,12 @@ class Worker(object): except Exception: job.set_status(JobStatus.FAILED, pipeline=pipeline) started_job_registry.remove(job, pipeline=pipeline) - pipeline.execute() + try: + pipeline.execute() + except Exception: + # Ensure that custom exception handlers are called + # even if Redis is down + pass self.handle_exception(job, *sys.exc_info()) return False