def test_task_queue(self): task_queue = TaskQueue() task_queue.processing_timeout = 0.1 task_queue.put('a3', 3, time.time() + 0.1) task_queue.put('a1', 1) task_queue.put('a2', 2) # priority queue self.assertEqual(task_queue.get(), 'a2') # time queue time.sleep(0.1) task_queue._check_time_queue() self.assertEqual(task_queue.get(), 'a3') self.assertEqual(task_queue.get(), 'a1') # processing queue task_queue._check_processing() self.assertEqual(task_queue.get(), 'a2') self.assertEqual(len(task_queue), 0) # done task_queue.done('a2') task_queue.done('a1') time.sleep(0.1) task_queue._check_processing() task_queue._check_time_queue() self.assertEqual(task_queue.get(), 'a3') self.assertEqual(task_queue.get(), None)
def setUpClass(self): self.task_queue = TaskQueue() self.task_queue.rate = 100000 self.task_queue.burst = 100000 self.task_queue.processing_timeout = 0.2 self.task_queue.put('a3', 2, time.time() + 0.1) self.task_queue.put('a1', 1) self.task_queue.put('a2', 3)
def __init__(self): super().__init__() self.downloader = Downloader(config.HEADERS) self.task_queue = TaskQueue(config.REDIS_DB_URL, config.REDIS_DB_DATABASE) self.count = 0