如何解决当使用ThreadPoolExecutor Python失败时,如何在任务队列中称呼任务
我正在使用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 举报,一经查实,本站将立刻删除。