Skip to content

Commit aaccd9d

Browse files
committed
fix: missing exception handling on error
Signed-off-by: Takumi Yanagawa <yana@jp.ibm.com>
1 parent ea98361 commit aaccd9d

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

itbench_utilities/agent_harness/agent.py

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -166,13 +166,13 @@ async def run_benchmark(self, benchmark_id, agent_id):
166166
return False
167167

168168
async def run_agent(self, target_bundle: Bundle, benchmark_id: str, agent_id: str):
169-
response = self.rest_client.get(f"/benchmarks/{benchmark_id}/agents/{agent_id}")
170-
agent = Agent.model_validate(response.json())
171-
agent_info = AgentInfo(id=agent.metadata.id, name=agent.spec.name, directory=self.agent_directory)
172-
ao = AgentOperator(agent_info=agent_info)
173-
self.rest_client.assign(benchmark_id, agent_id, target_bundle.metadata.id)
174-
self.rest_client.push_agent_status(benchmark_id, agent_id, AgentPhaseEnum.Executing)
175169
try:
170+
response = self.rest_client.get(f"/benchmarks/{benchmark_id}/agents/{agent_id}")
171+
agent = Agent.model_validate(response.json())
172+
agent_info = AgentInfo(id=agent.metadata.id, name=agent.spec.name, directory=self.agent_directory)
173+
ao = AgentOperator(agent_info=agent_info)
174+
self.rest_client.assign(benchmark_id, agent_id, target_bundle.metadata.id)
175+
self.rest_client.push_agent_status(benchmark_id, agent_id, AgentPhaseEnum.Executing)
176176
shared_workspace = Path("/tmp") / "shared_workspace" / agent.metadata.id / target_bundle.spec.name
177177
shared_workspace.mkdir(parents=True, exist_ok=True)
178178
output_dir_per_bundle = Path("/tmp") / "output" / agent.metadata.id / target_bundle.spec.name
@@ -191,7 +191,10 @@ async def run_agent(self, target_bundle: Bundle, benchmark_id: str, agent_id: st
191191
except Exception as e:
192192
err = traceback.format_exc()
193193
logger.error(err)
194-
self.rest_client.push_agent_status(benchmark_id, agent_id, AgentPhaseEnum.Error, message=f"{e}")
194+
try:
195+
self.rest_client.push_agent_status(benchmark_id, agent_id, AgentPhaseEnum.Error, message=f"{e}")
196+
except Exception as e2:
197+
logger.error(f"Failed to update agent status to 'Error' for benchmark {benchmark_id!r} (agent {agent_id!r}): {e2}")
195198

196199
def wait_bundle_finished():
197200
logger.info(f"Wait for bundle to finish...")

0 commit comments

Comments
 (0)