summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChyroc <chyroc@qq.com>2019-01-30 07:54:37 +0800
committerSelwin Ong <selwin.ong@gmail.com>2019-01-30 06:54:37 +0700
commitd9798fd64f9811d0f076ba09d40e3374e5841609 (patch)
tree7b48116fead6e7389d290d1cea7092b7f7bd6605
parent7eb95bf405fe034ef416c7b3519bf12c713e97dd (diff)
downloadrq-d9798fd64f9811d0f076ba09d40e3374e5841609.tar.gz
refactor: job status check (#1035)
-rw-r--r--rq/job.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/rq/job.py b/rq/job.py
index e77b085..79101a7 100644
--- a/rq/job.py
+++ b/rq/job.py
@@ -25,7 +25,6 @@ except ImportError: # noqa # pragma: no cover
dumps = partial(pickle.dumps, protocol=pickle.HIGHEST_PROTOCOL)
loads = pickle.loads
-
JobStatus = enum(
'JobStatus',
QUEUED='queued',
@@ -184,6 +183,10 @@ class Job(object):
return self.get_status() == JobStatus.STARTED
@property
+ def is_deferred(self):
+ return self.get_status() == JobStatus.DEFERRED
+
+ @property
def dependency(self):
"""Returns a job's dependency. To avoid repeated Redis fetches, we cache
job.dependency as job._dependency.
@@ -457,7 +460,6 @@ class Job(object):
# Fallback to uncompressed string
self.exc_info = as_text(raw_exc_info)
-
def to_dict(self, include_meta=True):
"""
Returns a serialization of the current job instance
@@ -545,28 +547,28 @@ class Job(object):
self.cancel(pipeline=pipeline)
connection = pipeline if pipeline is not None else self.connection
- if self.get_status() == JobStatus.FINISHED:
+ if self.is_finished:
from .registry import FinishedJobRegistry
registry = FinishedJobRegistry(self.origin,
connection=self.connection,
job_class=self.__class__)
registry.remove(self, pipeline=pipeline)
- elif self.get_status() == JobStatus.DEFERRED:
+ elif self.is_deferred:
from .registry import DeferredJobRegistry
registry = DeferredJobRegistry(self.origin,
connection=self.connection,
job_class=self.__class__)
registry.remove(self, pipeline=pipeline)
- elif self.get_status() == JobStatus.STARTED:
+ elif self.is_started:
from .registry import StartedJobRegistry
registry = StartedJobRegistry(self.origin,
connection=self.connection,
job_class=self.__class__)
registry.remove(self, pipeline=pipeline)
- elif self.get_status() == JobStatus.FAILED:
+ elif self.is_failed:
from .queue import get_failed_queue
failed_queue = get_failed_queue(connection=self.connection,
job_class=self.__class__)