admin
2025-01-15 f84dcf456dbfa318f490d6cf878be5d5d5262718
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
B
“÷öeì ã@s$dZGdd„dƒZGdd„dƒZdS)u
代码队列管理
c@sBeZdZedœdd„Zdd„Zdd„Zdd    „Zd
d „Zd d „Z    dS)ÚCodeQueueDistributeManager)Ú
queue_listcCs>g}x(tdt|ƒƒD]}| |||f¡qW||_i|_dS)Né)ÚrangeÚlenÚappendrÚdistibuted_code_queue_dict)ÚselfrÚflistÚi©r úAD:\workspace\trade\huaxin_client\code_queue_distribute_manager.pyÚ__init__s
z#CodeQueueDistributeManager.__init__cCsNtƒ}x"|jD]}| |j|d¡qWx|jD]}|d|kr2|Sq2WdS)Nr)ÚsetrÚaddr)rZdistibuted_queue_indexesÚcodeÚq_infor r r Úget_available_queues   z.CodeQueueDistributeManager.get_available_queuecCs8||jkr|j |¡S| ¡}|s*tdƒ‚||j|<|S)Nu无可用的队列)rÚgetrÚ    Exception)rrrr r r Údistribute_queues
 
z+CodeQueueDistributeManager.distribute_queuecCs |j |¡S)N)rr)rrr r r Úget_distributed_queue$sz0CodeQueueDistributeManager.get_distributed_queuecCs||jkr|j |¡dS)N)rÚpop)rrr r r Úrelease_distribute_queue's
z3CodeQueueDistributeManager.release_distribute_queuecCst|jƒt|j ¡ƒS)N)rrrÚkeys)rr r r Úget_free_queue_count,sz/CodeQueueDistributeManager.get_free_queue_countN)
Ú__name__Ú
__module__Ú __qualname__Úlistr rrrrrr r r r rs 
 
rc@sBeZdZedœdd„Zdd„Zdd„Zdd    „Zd
d „Zd d „Z    dS)Ú!CodeDataCallbackDistributeManager)Ú callback_listcCs4g}x|D]}| t|ƒ|f¡q
W||_i|_dS)N)rÚidr Údistibuted_code_callback_dict)rr r    Úcallbackr r r r 2s
 
z*CodeDataCallbackDistributeManager.__init__cCsNtƒ}x"|jD]}| |j|d¡qWx|jD]}|d|kr2|Sq2WdS)Nr)rr"rr )rZdistibuted_callbacks_idsrr#r r r Úget_available_callback:s   z8CodeDataCallbackDistributeManager.get_available_callbackcCs8||jkr|j |¡S| ¡}|s*tdƒ‚||j|<|S)Nu无可用的回调对象)r"rr$r)rrZ callback_infor r r Údistribute_callbackDs
 
z5CodeDataCallbackDistributeManager.distribute_callbackcCs"||jkr|j |¡dSdSdS)Né)r"r)rrr r r Úget_distributed_callbackNs
z:CodeDataCallbackDistributeManager.get_distributed_callbackcCs||jkr|j |¡dS)N)r"r)rrr r r Úrelease_distribute_callbackTs
z=CodeDataCallbackDistributeManager.release_distribute_callbackcCst|jƒt|j ¡ƒS)N)rr r"r)rr r r rYsz6CodeDataCallbackDistributeManager.get_free_queue_countN)
rrrrr r$r%r'r(rr r r r r0s 
 
rN)Ú__doc__rrr r r r Ú<module>s*