tugaa commited on
Commit
143d583
·
verified ·
1 Parent(s): 21f9bfa

Create modules/parallel_executor.py

Browse files
Files changed (1) hide show
  1. modules/parallel_executor.py +28 -0
modules/parallel_executor.py ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # modules/parallel_executor.py
2
+ import asyncio
3
+ from modules.web_tools import search_web, summarize_url
4
+ from modules.input_processor import InputProcessor
5
+
6
+ class ParallelTaskExecutor:
7
+ def __init__(self):
8
+ self.input_processor = InputProcessor()
9
+
10
+ async def execute(self, subtasks):
11
+ tasks = [self._handle_subtask(st) for st in subtasks]
12
+ results = await asyncio.gather(*tasks)
13
+ return results
14
+
15
+ async def _handle_subtask(self, subtask):
16
+ query = subtask.get("query")
17
+ language = subtask.get("language", "en")
18
+ modality = subtask.get("modality", "text")
19
+
20
+ try:
21
+ if modality == "text":
22
+ urls = await search_web(query, language)
23
+ summaries = [await summarize_url(url) for url in urls]
24
+ return {"query": query, "results": summaries}
25
+ else:
26
+ return {"query": query, "results": f"Modality '{modality}' not supported in this environment."}
27
+ except Exception as e:
28
+ return {"query": query, "error": str(e)}