def wait_is_done(connection, worker_scripts, script_id, process_id, process_name, worker_id, waiting_workers_ids): waiting_queue_name = get_waiting_queue_name( process_id, worker_id, waiting_workers_ids ) worker = worker_scripts.get(script_id, {}).get(worker_id, {}) for i, output_worker_id in enumerate(worker.get('next_workers', [])): output_worker_type = worker.get('__next_workers_types', [])[i] data = {'__read_from_queue': waiting_queue_name} poliglo.start_process( connection, script_id, output_worker_type, output_worker_id, process_name, data )
def test_wait_for_all_jobs(self): self.process_id = start_process( self.connection, 'test_wait_jobs', 'generate_numbers', 'generate_numbers_1', 'instance1', {} ) queues = [None] while len(queues) > 0: sleep(1) queues = self.connection.keys("queue:*") total_finalized = self.connection.zcard( "scripts:test_wait_jobs:processes:%s:workers:count_numbers_1:finalized" % \ self.process_id ) self.assertEqual(1, total_finalized)
def test_last_message_are_filtered(self): self.process_id = start_process( self.connection, 'test_wait_jobs', 'generate_numbers', 'generate_numbers_1', 'instance1', { 'numbers_range': [995, 1005] } ) queues = [None] while len(queues) > 0: sleep(1) queues = self.connection.keys("queue:*") total_finalized = self.connection.zcard( "scripts:test_wait_jobs:processes:%s:workers:count_numbers_1:finalized" % \ self.process_id ) self.assertEqual(1, total_finalized)