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):
|
||||
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
|
||||
def func(self):
|
||||
func_name = self.func_name
|
||||
|
|
|
@ -177,12 +177,26 @@ class TestWorker(RQTestCase):
|
|||
w = Worker([q])
|
||||
|
||||
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)
|
||||
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"
|
||||
job = q.enqueue(div_by_zero, args=(1,))
|
||||
w.work(burst=True)
|
||||
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