Files
multi-agent-bidding/app/__pycache__/execution_monitor.cpython-310.pyc
T

53 lines
5.6 KiB
Plaintext
Raw Normal View History

2026-04-12 01:55:34 +08:00
o
s‰Úiåã@stdZddlZddlZddlZddlmZmZmZmZm Z ddl
m Z m Z m
Z
mZmZGdddƒZGdd „d ƒZdS)
uD
执行监控器 - 监控执行状æ€ã€è¶…时处ç†ã€ç»“果收集
éN)ÚDictÚListÚOptionalÚAnyÚCallableé)ÚTaskÚ ExecutionÚ AgentProfileÚBidÚ
TaskStatusc
@eZdZdZ   ddedededededef d d
Zdefd d Z d
ede
fddZ d
efddZ ddZ
ddZdeefddZdefddZdefddZdS)ÚExecutionMonitoru执行监控器NÚtaskÚagentÚbidÚ on_completeÚ
on_timeoutÚon_errorcCsV||_||_||_|j|_|||dœ|_d|_g|_i|_d|_d|_ d|_
d|_ dS)N)ÚcompleteÚtimeoutÚerrorrF) rrrrÚ callbacksÚ executionÚ
backup_agentsÚactive_executionsÚ _start_timeÚ _is_runningÚ_resultÚ_error)Úselfrrrrrr©r úW/home/xian/.openclaw/workspace-coder/works/multi-agent-bidding/app/execution_monitor.pyÚ__init__s ý
zExecutionMonitor.__init__cCs|j |¡dS)u添加备选AgentN)rÚappend)rrr r r!Úadd_backup_agent,sz!ExecutionMonitor.add_backup_agentÚ execute_funcÚreturncCsdt|jj|jj|jjdd|_t ¡|_d|_t j
|j |fd}|  ¡t j
|j
d}|  ¡|jS)u
å¯åŠ¨æ‰§è¡Œ
Args:
execute_func: 执行函数
Returns:
Execution对象
Úrunning)Útask_idÚagent_idÚbid_idÚstatusT)ÚtargetÚargs)r,)r rÚidrrrÚtimerrÚ threadingÚThreadÚ_run_executionÚstartÚ_watch_timeout)rr%ÚthreadÚtimeout_threadr r r!r30s
ü
zExecutionMonitor.startc
Csz6||j|j|jƒ}|jr1||_d|j_t ¡|j_||j_ d|_|j
dr4|j
d|jƒWdSWdSWdSt y€}z>|jrnt |ƒ|_
d|j_t ¡|j_t |ƒ|j_d|_|j
dru|j
d|j|ƒWYd}~dSWYd}~dSWYd}~dSd}~ww)u æ‰§è¡Œä»»åŠ¡Ú completedFrÚfailedrN)rrrrrrr+r/Úend_timeÚresultrÚ ExceptionÚstrrr)rr%r:Úer r r!r2Ms2 
ø
  
 øøzExecutionMonitor._run_executioncCs”|jrHt ¡|j}||jkr>|jr<d|j_t ¡|j_d|jd|j_d|_|jdr5|jd|jƒ|j r<| 
¡dSt  d¡|jsdSdS)u 超时监控ru执行超时 (uç§’)FrN) rr/rrrr+r9rrrÚ
_start_backupÚsleep)rÚelapsedr r r!r4gs
 

ízExecutionMonitor._watch_timeoutcCsdS)uå¯åЍ备选AgentNr ©rr r r!r>~szExecutionMonitor._start_backupcCs|jS)u 获å–结果)rrAr r r!Ú
get_resultƒszExecutionMonitor.get_resultcCs|j S)u 是å¦å®Œæˆ)rrAr r r!Ú is_complete‡szExecutionMonitor.is_completecCs,|jr|jjr|jj|jjSt ¡|jS)uèŽ·å–æ‰§è¡Œæ—¶é•¿)rr9Ú
start_timer/rrAr r r!Ú get_durationszExecutionMonitor.get_duration)NNN)Ú__name__Ú
__module__Ú __qualname__Ú__doc__rr
r rr"r$r r3r2r4r>rrrBÚboolrCÚfloatrEr r r r!r
s4ùþýüûú
ùr
c @sneZdZdZddZ ddedededee e