Merge pull request #419 from selwin/registry-len

Added JobStartedRegistry.count
main
Selwin Ong 11 years ago
commit 18c6ea64ef

@ -68,6 +68,9 @@ class Queue(object):
job_class = import_attribute(job_class)
self.job_class = job_class
def __len__(self):
return self.count
@property
def key(self):
"""Returns the Redis key for this Queue."""

@ -21,6 +21,16 @@ class StartedJobRegistry:
self.key = 'rq:wip:%s' % name
self.connection = resolve_connection(connection)
def __len__(self):
"""Returns the number of jobs in this registry"""
return self.count
@property
def count(self):
"""Returns the number of jobs in this registry"""
self.move_expired_jobs_to_failed_queue()
return self.connection.zcard(self.key)
def add(self, job, timeout, pipeline=None):
"""Adds a job to StartedJobRegistry with expiry time of now + timeout."""
score = current_timestamp() + timeout

@ -76,3 +76,10 @@ class TestQueue(RQTestCase):
worker.perform_job(job)
self.assertNotIn(job.id, registry.get_job_ids())
def test_get_job_count(self):
"""StartedJobRegistry returns the right number of job count."""
self.testconn.zadd(self.registry.key, 1, 'foo')
self.testconn.zadd(self.registry.key, 10, 'bar')
self.assertEqual(self.registry.count, 2)
self.assertEqual(len(self.registry), 2)

@ -101,11 +101,13 @@ class TestQueue(RQTestCase):
q.enqueue(say_hello, 'Charlie')
self.testconn.lpush(q.key, '1', '2')
self.assertEquals(q.count, 4)
self.assertEqual(q.count, 4)
self.assertEqual(len(q), 4)
q.compact()
self.assertEquals(q.count, 2)
self.assertEqual(q.count, 2)
self.assertEqual(len(q), 2)
def test_enqueue(self):
"""Enqueueing job onto queues."""

Loading…
Cancel
Save