def test_nested_requests_with_log_decorator(): manager = ProcessManager() manager.log.clear() execute_tasks(manager, [multi_task2 for _ in range(1)], timeout=9) execute_tasks(manager, [multi_task2 for _ in range(20)], timeout=18) execute_tasks(manager, [multi_task2 for _ in range(80)], timeout=27) execute_tasks(manager, [multi_task2 for _ in range(400)], timeout=60) manager.report(show_errors=False, analyze_fail=True)
def test_multi_requests_with_multi_processing(): manager = ProcessManager() manager.log.clear() execute_tasks(manager, [multi_task1 for _ in range(1)], timeout=12) execute_tasks(manager, [multi_task1 for _ in range(20)], timeout=24) execute_tasks(manager, [multi_task1 for _ in range(80)], timeout=36) execute_tasks(manager, [multi_task1 for _ in range(400)], timeout=80) manager.report()
def test_simple_requests_with_multi_processing(): manager = ProcessManager() manager.log.clear() execute_tasks(manager, [task1 for _ in range(1)], timeout=3) execute_tasks(manager, [task1 for _ in range(20)], timeout=6) execute_tasks(manager, [task1 for _ in range(80)], timeout=9) execute_tasks(manager, [task1 for _ in range(400)], timeout=20) manager.report()
def execute_tasks(manager: ProcessManager, tasks: Tasks, timeout): t = time() try: manager.run_until_complete(tasks, timeout=timeout) except TimeoutError: print(format_exc()) t = time() - t print(f'took {round(t, 3)}s')
def test_nested_requests_with_log_decorator(): manager = ProcessManager() manager.log.clear() execute_tasks(manager, [(multi_task, choice(['google', 'youtube', 'netflix'])) for _ in range(20)], timeout=18) manager.report(show_errors=False, analyze_fail=True)
def test_messaging_with_processes(): n = 10 with ProcessManager() as m: m.log.clear() m.run_until_complete([st for _ in range(n)], timeout=None) m.merge() msgs = m.log.receive_all_messages()['st'] assert len(msgs) == n
def execute_tasks(tasks: Tasks, timeout): manager = ProcessManager() t = time() try: manager.run_until_complete(tasks, timeout=timeout) timed_out = None except TimeoutError: timed_out = format_exc() t = time() - t manager.report() print(f'took {round(t, 3)}s\n') manager.log.clear() return timed_out