mirror of https://github.com/rq/rq.git
Add convenience accessor properties for status.
This commit is contained in:
parent
4224304291
commit
9549b34d60
16
rq/job.py
16
rq/job.py
|
@ -91,6 +91,22 @@ class Job(object):
|
||||||
def status(self):
|
def status(self):
|
||||||
return self._status
|
return self._status
|
||||||
|
|
||||||
|
@property
|
||||||
|
def is_finished(self):
|
||||||
|
return self.status == Status.FINISHED
|
||||||
|
|
||||||
|
@property
|
||||||
|
def is_queued(self):
|
||||||
|
return self.status == Status.QUEUED
|
||||||
|
|
||||||
|
@property
|
||||||
|
def is_failed(self):
|
||||||
|
return self.status == Status.FAILED
|
||||||
|
|
||||||
|
@property
|
||||||
|
def is_done(self):
|
||||||
|
return self._status is not None and not self.is_queued
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def func(self):
|
def func(self):
|
||||||
func_name = self.func_name
|
func_name = self.func_name
|
||||||
|
|
|
@ -177,12 +177,26 @@ class TestWorker(RQTestCase):
|
||||||
w = Worker([q])
|
w = Worker([q])
|
||||||
|
|
||||||
job = q.enqueue(say_hello)
|
job = q.enqueue(say_hello)
|
||||||
|
self.assertEqual(job.status, 'queued')
|
||||||
|
self.assertEqual(job.is_queued, True)
|
||||||
|
self.assertEqual(job.is_finished, False)
|
||||||
|
self.assertEqual(job.is_failed, False)
|
||||||
|
self.assertEqual(job.is_done, False)
|
||||||
|
|
||||||
w.work(burst=True)
|
w.work(burst=True)
|
||||||
job = Job.fetch(job.id)
|
job = Job.fetch(job.id)
|
||||||
self.assertEqual(job.status, Status.FINISHED)
|
self.assertEqual(job.status, 'finished')
|
||||||
|
self.assertEqual(job.is_queued, False)
|
||||||
|
self.assertEqual(job.is_finished, True)
|
||||||
|
self.assertEqual(job.is_failed, False)
|
||||||
|
self.assertEqual(job.is_done, True)
|
||||||
|
|
||||||
# Failed jobs should set status to "failed"
|
# Failed jobs should set status to "failed"
|
||||||
job = q.enqueue(div_by_zero, args=(1,))
|
job = q.enqueue(div_by_zero, args=(1,))
|
||||||
w.work(burst=True)
|
w.work(burst=True)
|
||||||
job = Job.fetch(job.id)
|
job = Job.fetch(job.id)
|
||||||
self.assertEqual(job.status, Status.FAILED)
|
self.assertEqual(job.status, 'failed')
|
||||||
|
self.assertEqual(job.is_queued, False)
|
||||||
|
self.assertEqual(job.is_finished, False)
|
||||||
|
self.assertEqual(job.is_failed, True)
|
||||||
|
self.assertEqual(job.is_done, True)
|
||||||
|
|
Loading…
Reference in New Issue