From e4589a4641e011ce8fcc115d72428d4b1ae5342a Mon Sep 17 00:00:00 2001 From: Selwin Ong Date: Tue, 24 Sep 2013 18:46:59 +0700 Subject: [PATCH] job.cancel() should be pipelined. --- rq/job.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/rq/job.py b/rq/job.py index 026e61e..ed95b84 100644 --- a/rq/job.py +++ b/rq/job.py @@ -368,12 +368,15 @@ class Job(object): cancellation. Technically, this call is (currently) the same as just deleting the job hash. """ - self.delete() - self.connection.delete(self.dependents_key) + pipeline = self.connection.pipeline() + self.delete(pipeline=pipeline) + pipeline.delete(self.dependents_key) + pipeline.execute() - def delete(self): + def delete(self, pipeline=None): """Deletes the job hash from Redis.""" - self.connection.delete(self.key) + connection = pipeline if pipeline is not None else self.connection + connection.delete(self.key) # Job execution def perform(self): # noqa