def test_ready_signals_sent(self): self.in_signal = 0 def handle_signal(sender, *args, **kwargs): self.in_signal += 1 worker_ready.connect(handle_signal) WorkerGroup(self.channel_layer, n_threads=4) self.worker.ready() self.assertEqual(self.in_signal, 4)
def test_worker_group(channel_layer, n_threads, callback=None): """Setup test worker group and validate it's finished.""" worker_group = WorkerGroup( channel_layer, n_threads=n_threads, signal_handlers=False, stop_gracefully=True, callback=callback, ) worker_group_thread = threading.Thread(target=worker_group.run) worker_group_thread.daemon = True worker_group_thread.start() yield worker_group worker_group_thread.join() for worker_id, worker in enumerate(worker_group.workers): assert worker.in_job is False assert worker_group.threads[worker_id].is_alive() is False
def setUp(self): self.channel_layer = channel_layers[DEFAULT_CHANNEL_LAYER] self.worker = WorkerGroup(self.channel_layer, n_threads=4) self.subworkers = self.worker.workers