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

54 lines
9.3 KiB
Plaintext
Raw Normal View History

2026-04-12 01:55:34 +08:00
o
:‰Úi^ ã@szdZddlZddlZddlZddlmZmZmZmZddl m
Z
ddl m Z m
Z
mZmZmZmZmZmZGdddƒZdS) u5
ä»»åŠ¡å…¬å‘Šæ¿ - 任务状æ€ç®¡ç†ã€ä¿¡æ¯å­˜å‚¨
éN)ÚDictÚListÚOptionalÚAny)ÚPathé)ÚTaskÚBidÚ ExecutionÚAttemptÚ
TaskStatusÚ TaskGraphÚ UserRequestÚ AgentProfilec @seZdZdZdPdefddZddZdd „Zd
ed efd d
Z ded e
efddZ defddZ dQde
d eefddZdefddZded e
efddZdedefdd „Zded eefd!d"„ZdRde
d eefd$d%„Zd&efd'd(„Zded eefd)d*„Zdefd+d,„Zd-efd.d/„Zd0ed e
efd1d2„Zd-efd3d4„Zd5efd6d7„Z ded eefd8d9„Z!ded e
fd:d;„Z"d<e#fd=d>„Z$d?efd@dA„Z%d?ed e
e#fdBdC„Z&d ee#fdDdE„Z' FdSd?edGe(dHe)dIe)fdJdK„Z*ded ee#fdLdM„Z+d e,fdNdO„Z-dS)TÚ TaskBoardu3ä»»åŠ¡å…¬å‘Šæ¿ - å­˜å‚¨å’Œç®¡ç†æ‰€æœ‰ä»»åŠ¡çŠ¶æ€ storage_pathcCsft|p
t ¡ddƒ|_|jjjdddi|_i|_i|_i|_i|_ i|_
t   ¡|_
| ¡dS)Nz .multi_agentztask_board.jsonT)ÚparentsÚexist_ok)rÚhomerÚparentÚmkdirÚ
user_requestsÚtasksÚbidsÚ
executionsÚattemptsÚagentsÚ threadingÚLockÚ_lockÚ_load)Úselfr©r"úP/home/xian/.openclaw/workspace-coder/works/multi-agent-bidding/app/task_board.pyÚ__init__s
 zTaskBoard.__init__cCsd|j ¡r0z t|jdƒ}t |¡}WdƒWdS1swYWdSty/YdSwdS)u从文件加载ÚrN)rÚexistsÚopenÚjsonÚloadÚ Exception)r!Údatar"r"r#r "s
 &ÿ ÿûzTaskBoard._loadc
CzEdd|j ¡Dƒdd|j ¡Dƒdd|j ¡Dƒt ¡dœ}t|jdƒ}tj||ddd Wd
ƒWd
S1s>wYWd
St y_}zt
d |ƒWYd
}~d
Sd
}~ww) uä¿å­˜åˆ°æ–‡ä»¶cSói|] \}}|| ¡qSr"©Úto_dict©Ú.0Úvr"r"r#Ú
<dictcomp>0óz#TaskBoard._save.<locals>.<dictcomp>cSr-r"r.r0r"r"r#r41r5cSr-r"r.r0r"r"r#r42r5)rrrÚsaved_atÚwFé)Ú ensure_asciiÚindentNuä¿å­˜å¤±è´¥: ) rÚitemsrrÚtimer'rr(Údumpr*Úprint)r!r,r+Úer"r"r#Ú_save,sü&ÿÿzTaskBoard._saveÚcontentÚreturncCsJt|d}|j||j|j<| ¡Wdƒ|S1swY|S)u创建用户请求)rAN)rrrÚidr@)r!rAÚrequestr"r"r#Úcreate_request<s
 

þýzTaskBoard.create_requestÚ
request_idcCó |j |¡S)u获å–用户请求)rÚget)r!rFr"r"r#Ú get_requestDó zTaskBoard.get_requestrDcCó@|j||j|j<| ¡WdƒdS1swYdS)u更新用户请求N)rrrCr@)r!rDr"r"r#Úupdate_requestHó 
"þzTaskBoard.update_requesté2ÚlimitcCó,t|j ¡ƒ}|jdddd|d|S)u列出用户请求cSó|jS©Ú
created_at)r%r"r"r#Ú<lambda>Qóz)TaskBoard.list_requests.<locals>.<lambda>T©ÚkeyÚreverseN)ÚlistrÚvaluesÚsort)r!rOÚrequestsr"r"r#Ú
list_requestsNó zTaskBoard.list_requestsÚtaskcCsX|j||j|j<i|j|j<g|j|j<| ¡WdƒdS1s%wYdS)u 添加任务N)rrrCrrr@)r!r`r"r"r#Úadd_taskVs    
"üzTaskBoard.add_taskÚtask_idcCrG)u 获å–任务)rrH©r!rbr"r"r#Úget_task^rJzTaskBoard.get_taskÚstatuscCsZ|j ||jvr||j|_| ¡WdƒdSWdƒdS1s&wYdS)u更新任务状æ€N)rrrer@)r!rbrer"r"r#Úupdate_task_statusbs
 
ý"ÿzTaskBoard.update_task_statuscsfdd|j ¡DƒS)uèŽ·å–æŒ‡å®šçжæ€çš„任务cóg|] }|jˆkr|qSr"©re©r1Útrhr"r#Ú
<listcomp>kr5z1TaskBoard.get_tasks_by_status.<locals>.<listcomp>)rr[)r!rer"rhr#Úget_tasks_by_statusiszTaskBoard.get_tasks_by_statusédcCrP)u列出所有任务cSrQrRrS)rjr"r"r#rUprVz&TaskBoard.list_tasks.<locals>.<lambda>TrWN)rZrr[r\)r!rOrr"r"r#Ú
list_tasksmr_zTaskBoard.list_tasksÚbidcCsZ|j |j|jvr||j|j|j<WdƒdSWdƒdS1s&wYdS)u 添加竞标N)rrbrrC)r!ror"r"r#Úadd_biduó  þ"ÿzTaskBoard.add_bidcCs ||jvrt|j| ¡ƒSgS)u获å–任务的竞标列表)rrZr[rcr"r"r#Úget_bids{s
zTaskBoard.get_bidscCsP|j||jvri|j|<WdƒdSWdƒdS1s!wYdS)u清除任务的竞标N)rrrcr"r"r#Ú
clear_bidss 
 þ"ÿzTaskBoard.clear_bidsÚ executioncCs8|j||j|j<WdƒdS1swYdS)u添加执行记录N)rrrC©r!rtr"r"r#Ú
add_execution‰s"ÿzTaskBoard.add_executionÚ execution_idcCrG)uèŽ·å–æ‰§è¡Œè®°å½•)rrH)r!rwr"r"r#Ú
get_executionŽrJzTaskBoard.get_executioncCrK)u更新执行记录N)rrrCr@rur"r"r#Úupdate_executionrMzTaskBoard.update_executionÚattemptcCsZ|j |j|jvr|j|j |¡WdƒdSWdƒdS1s&wYdS)u添加å°è¯•记录N)rrbrÚappend)r!rzr"r"r#Ú add_attemptšrqzTaskBoard.add_attemptcCs||jvr
|j|SgS)u获å–任务的å°è¯•记录)rrcr"r"r#Ú get_attempts s

zTaskBoard.get_attemptscCst| |¡ƒS)u获å–任务的å°è¯•次数)Úlenr}rcr"r"r#Úget_attempt_count¦ózTaskBoard.get_attempt_countÚagentcCrK)u 注册AgentN)rrrCr@)r!rr"r"r#Úregister_agent¬rMzTaskBoard.register_agentÚagent_idcCsB|j|j |d¡| ¡WdƒdS1swYdS)u 注销AgentN)rrÚpopr@©r!r"r"r#Úunregister_agent²s