|
@@ -145,23 +145,16 @@ class ImageIdentifier:
|
|
except Exception as e:
|
|
except Exception as e:
|
|
return {"idx": idx, "url": url, "content": "", "success": False, "error": str(e)}
|
|
return {"idx": idx, "url": url, "content": "", "success": False, "error": str(e)}
|
|
|
|
|
|
- # 并发最多5条
|
|
|
|
- with ThreadPoolExecutor(max_workers=2) as executor:
|
|
|
|
- future_to_index = {}
|
|
|
|
- for idx, url in enumerate(image_urls):
|
|
|
|
- future = executor.submit(analyze_image_job, (idx, url))
|
|
|
|
- future_to_index[future] = idx
|
|
|
|
-
|
|
|
|
- for future in as_completed(list(future_to_index.keys())):
|
|
|
|
- result = future.result()
|
|
|
|
- idx = result["idx"]
|
|
|
|
- results[idx] = {
|
|
|
|
- "url": result["url"],
|
|
|
|
- "content": result["content"],
|
|
|
|
- "success": result["success"]
|
|
|
|
- }
|
|
|
|
- if not result["success"]:
|
|
|
|
- results[idx]["error"] = result["error"]
|
|
|
|
|
|
+ # 顺序逐个处理,取消并发
|
|
|
|
+ for idx, url in enumerate(image_urls):
|
|
|
|
+ result = analyze_image_job((idx, url))
|
|
|
|
+ results[idx] = {
|
|
|
|
+ "url": result["url"],
|
|
|
|
+ "content": result["content"],
|
|
|
|
+ "success": result["success"]
|
|
|
|
+ }
|
|
|
|
+ if not result["success"]:
|
|
|
|
+ results[idx]["error"] = result["error"]
|
|
|
|
|
|
return {"images_comprehension": results}
|
|
return {"images_comprehension": results}
|
|
|
|
|