import sys import threading from random import randint from time import sleep from concurrent.futures import ThreadPoolExecutor from app.worker import worker def f(t): sleep(t) return t with ThreadPoolExecutor(max_workers=20) as executor: futures = [executor.submit(f, t) for t in [randint(1,3) for _ in range(500)]] for future in futures: future.add_done_callback(worker) result = [f.result() for f