예제 #1
0
 def test_next(self):
     jq = JobQueue(self.db, collection_name=K.collection)
     self.assertRaises(Exception, jq.next)
     job = {'message': 'hello world!'}
     jq.pub(job)
     row = jq.next()
     self.assertEquals(row['data']['message'], 'hello world!')
     self.assertEquals(jq.queue_count(), 0)
예제 #2
0
 def test_publish(self):
     jq = JobQueue(self.db, collection_name=K.collection)
     job = {'message': 'hello world!'}
     jq.pub(job)
     self.assertEquals(jq.queue_count(), 1)
     jq.clear_queue()
     jq.q = None  # erase the queue
     self.assertRaises(Exception, jq.pub, job)
예제 #3
0
 def test_next(self):
     jq = JobQueue(self.db)
     self.assertRaises(Exception, jq.next)
     job = {'message': 'hello world!'}
     jq.pub(job)
     row = jq.next()
     self.assertEquals(row['data']['message'], 'hello world!')
     jq.clear_queue()
예제 #4
0
 def test_publish(self):
     jq = JobQueue(self.db)
     job = {'message': 'hello world!'}
     jq.pub(job)
     self.assertEquals(jq.queue_count(), 1)
     jq.clear_queue()
     jq.q = None  # erase the queue
     self.assertRaises(Exception, jq.pub, job)
예제 #5
0
 def test_next(self):
     jq = JobQueue(self.db)
     self.assertRaises(Exception, jq.next)
     job = {'message': 'hello world!'}
     jq.pub(job)
     row = jq.next()
     self.assertEquals(row['data']['message'], 'hello world!')
     jq.clear_queue()
예제 #6
0
    def test_iter(self):
        NUM_JOBS = 3
        num_jobs_queued = [NUM_JOBS]

        def iterator_wait():
            num_jobs_queued[0] -= 1
            return num_jobs_queued[0] < 0

        jq = JobQueue(self.db,
                      iterator_wait=iterator_wait,
                      collection_name=K.collection)
        for ii in range(1, NUM_JOBS + 1):
            job = {'message': 'I am # ' + str(ii)}
            jq.pub(job)
        num_jobs_done = 0
        for job in jq:
            #print job['data']['message']
            num_jobs_done += 1
            record = jq.q.find_one({'_id': job['_id']})
            self.assertEquals(record['status'], jq.WORKING)
        self.assertEquals(num_jobs_done, NUM_JOBS)