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循环,因此永远不会停止,因此就这样停留,不会发生异常或其他任何事情。
我主要是使用此功能来访问我自己的AWS服务器API以获取结果,并且我的API始终会返回我已经检查并确定的错误信息
我遇到了类似的问题here