python-3.x - 使用 ThreadPoolExecutor Python 失败时,如何在任务队列中添加任务
问题描述
我正在使用ThreadPoolExecutor
from packageconcurrent.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
太谢谢了。
解决方案
推荐阅读
- php - 如何在 PHP 中将参数传递给这个 SOAP 函数?
- python - 刻度的第二个刻度是 python/matplotlib 中相同位置的第一个刻度的函数
- javascript - 过滤嵌套的嵌套在猫鼬填充
- mysql - MySQL 限制每列值的行数
- flutter - Flutter - 当 Cohost 退出直播时,Agora 直播对所有人都结束
- amazon-web-services - aws redshift 表中的唯一键/主键
- javascript - 在发出时返回 PointerEvent 对象而不是子数据
- angularjs - 当我正在做的事情完全正确时,Angular JS 1.6 帮助即服务会导致 UNK 提供者
- html - VBA按钮单击具有相同的类(无ID,无类名)
- sql - 有没有办法使用 SQL Developer 中的查询生成的数据自动填写 PDF 表单?