@@ -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