def test_enqueue_or_delay_should_delay_if_in_the_future(self): queue = Queue.get_queue(name='test', priority=1) job = Job(identifier='job:1') delayed_until = datetime.utcnow() + timedelta(seconds=5) job.enqueue_or_delay('test', 1, delayed_until=delayed_until) self.assertEqual(queue.delayed.zcard(), 1) self.assertEqual(queue.waiting.llen(), 0) self.assertEqual(job.delayed_until.hget(), str(delayed_until)) self.assertEqual(job.status.hget(), STATUSES.DELAYED) self.assertEqual(job.priority.hget(), '1')
def test_enqueue_or_delay_should_delay_if_in_the_future(self): queue = Queue.get_queue(name='test', priority=1) job = Job(identifier='job:1') delayed_until = datetime.utcnow() + timedelta(seconds=5) job.enqueue_or_delay('test', 1, delayed_until=delayed_until) self.assertEqual(queue.delayed.zcard(), 1) self.assertEqual(queue.waiting.llen(), 0) self.assertEqual(job.delayed_until.hget(), str(delayed_until)) self.assertEqual(job.status.hget(), STATUSES.DELAYED) self.assertEqual(job.priority.hget(), '1')
def test_enqueue_or_delay_should_enqueue_if_not_in_the_future(self): queue = Queue.get_queue(name='test', priority=1) job = Job(identifier='job:1') job.enqueue_or_delay('test', 1) self.assertEqual(queue.delayed.zcard(), 0) self.assertEqual(queue.waiting.llen(), 1) self.assertEqual(job.delayed_until.hget(), None) self.assertEqual(job.status.hget(), STATUSES.WAITING) self.assertEqual(job.priority.hget(), '1') job2 = Job(identifier='job:2') delayed_until = datetime.utcnow() - timedelta(seconds=5) # the past ! job2.enqueue_or_delay('test', 1, delayed_until=delayed_until) self.assertEqual(queue.delayed.zcard(), 0) self.assertEqual(queue.waiting.llen(), 2) self.assertEqual(job2.delayed_until.hget(), None) self.assertEqual(job2.status.hget(), STATUSES.WAITING) self.assertEqual(job2.priority.hget(), '1')
def test_enqueue_or_delay_should_enqueue_if_not_in_the_future(self): queue = Queue.get_queue(name='test', priority=1) job = Job(identifier='job:1') job.enqueue_or_delay('test', 1) self.assertEqual(queue.delayed.zcard(), 0) self.assertEqual(queue.waiting.llen(), 1) self.assertEqual(job.delayed_until.hget(), None) self.assertEqual(job.status.hget(), STATUSES.WAITING) self.assertEqual(job.priority.hget(), '1') job2 = Job(identifier='job:2') delayed_until = datetime.utcnow() - timedelta(seconds=5) # the past ! job2.enqueue_or_delay('test', 1, delayed_until=delayed_until) self.assertEqual(queue.delayed.zcard(), 0) self.assertEqual(queue.waiting.llen(), 2) self.assertEqual(job2.delayed_until.hget(), None) self.assertEqual(job2.status.hget(), STATUSES.WAITING) self.assertEqual(job2.priority.hget(), '1')