def test_consumer_integration(self): lock = threading.Lock() @self.huey.task() def add_values(a, b): return a + b consumer = Consumer(self.huey, max_delay=0.1, workers=2, worker_type='thread', health_check_interval=0.01) with CaptureLogs() as capture: consumer.start() try: r1 = add_values(1, 2) r2 = add_values(2, 3) r3 = add_values(3, 5) self.assertEqual(r1.get(blocking=True, timeout=3), 3) self.assertEqual(r2.get(blocking=True, timeout=3), 5) self.assertEqual(r3.get(blocking=True, timeout=3), 8) finally: consumer.stop() for _, worker in consumer.worker_threads: worker.join() messages = capture.messages[-4:-1] for message in messages: self.assertTrue(message.startswith('Executing huey.tests.test_')) self.assertTrue(capture.messages[-1].startswith('Shutting down'))