Я пытаюсь использовать параллельные фьючерсы для потоков, но кажется, что некоторые фьючерсы не возвращаются, они продолжают работать бесконечно

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 всегда возвращается в обязательном порядке, что я проверил и удостоверился в

Я столкнулся с подобной проблемой здесь

0 ответов

Другие вопросы по тегам