问题描述
我正在使用ThreadPoolExecutor
软件包中的concurrent.futures
,并希望同时执行批处理请求。
from concurrent.futures import ThreadPoolExecutor
from concurrent.futures import as_completed
import requests
BASE_URL = "api/{param_id}"
def get_result(param_id):
url = BASE_URL.format(param_id=param_id)
s = requests.get(url)
return s
# if task Failed here,how can I reput it into task_queue again until it
# return expected result successfully
with ThreadPoolExecutor(max_workers=5) as executor:
obj_list = []
result_list = []
for page in range(1,15):
obj = executor.submit(get_result,page)
obj_list.append(obj)
for future in as_completed(obj_list):
data = future.result()
result_list.append(data)
ThreadPoolExecutor
本身在内部实现了queue
。我的问题是,由于某些网络超时问题或其他意外问题而失败,如何重新将任务get_result
放入此queue
。
非常感谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)