Я пытаюсь использовать параллельные фьючерсы для потоков, но кажется, что некоторые фьючерсы не возвращаются, они продолжают работать бесконечно
def parallelize_task_by_thread(func, iterable, workers=4):
with ThreadPoolExecutor(max_workers=workers) as executor:
future_to_url = {executor.submit(func, i): i for i in iterable}
result = []
for future in concurrent.futures.as_completed(future_to_url, timeout=120):
response = future.result()
result.append(response)
return result
В этом коде некоторые фьючерсы никогда не возвращаются, даже после истечения времени ожидания. Я не могу понять, что здесь не так. Этот код работал очень хорошо несколько дней назад. И поскольку будущее не возвращается, цикл for никогда не останавливается и, таким образом, он просто остается таким, никаких исключений или каких-либо других событий не происходит.
В первую очередь я использую эту функцию, чтобы поразить свой собственный API-интерфейс сервера AWS, чтобы получить результат, и мой API всегда возвращается в обязательном порядке, что я проверил и удостоверился в
Я столкнулся с подобной проблемой здесь