Administrator
4 天以前 48fb7a00951f91bdc707e5dd2d196e5bccb752c3
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
B
®>cãã@s>ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    e 
d¡Z dd„Z dd„Z dd„Zdd    „Zd
d „Zd d „Zd5dd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zd d!„Zd"d#„Zd6d$d%„Zd&d'„Zd(d)„Zd*d+„Z d,d-„Z!d.d/„Z"d0d1„Z#e$d2kr:ed3d4ƒZ%e&e%ƒdS)7éNcCsžtj |¡}g}x\|D]T}|ddkr|ddkr|d d¡d}| d¡dkr| d¡dkr| |¡qWt ¡}| d    ¡x|D]}|     d    |¡q†WdS)
NZsec_typeéZ    sec_levelÚsymbolÚ.Ú30rZ68Úgp_list)
ÚjuejinÚ JueJinManagerZget_gp_latest_infoÚsplitÚfindÚappendÚ__redisManagerÚgetRedisÚdeleteÚsadd)ÚgpsetZ
code_datasÚcodesÚ_dataÚcodeÚredis_instanceÚd©rú$D:\workspace\trade\gpcode_manager.pyÚ set_gp_lists 
 
 
rcCsnt |¡t ¡}| d¡x|D]}| dt |¡¡q"W| dt     
¡¡|  dt     
¡t t   ¡dƒ¡dS)NÚgp_limit_up_listÚgp_limit_up_list_update_timeiè)Ú global_utilZadd_limit_up_codesr r rrÚjsonÚdumpsÚexpireÚtoolÚ
get_expireÚsetexÚroundÚtime)rrrrrrÚset_limit_up_list#s
 
 
r$cCst ¡}| d¡| d¡fS)Nrr)r r ÚgetÚsmembers)rrrrÚget_limit_up_list1sr'cCst ¡}| d|¡dS)Nr)r r Úsrem)rrrrrÚrm_gp6sr)cCst ¡}| d|¡S)Nr)r r Ú    sismember)rrrrrÚ is_in_gp_pool;sr+cCst ¡}| d¡S)Nr)r r r&)rrrrÚ get_gp_list@sr,cCsf|dkrtƒ}g}xN|D]F}|dd…dkr>| d |¡¡q|dd…dkr| d |¡¡qW|S)NréZ00zSZSE.{}Z60zSHSE.{})r,r Úformat)ÚdataÚlistrrrrÚget_gp_list_with_prefixEs
r1cCs,t ¡}| d |¡¡}|dk    r(t|ƒSdS)Nz price-pre-{})r r r%r.Úfloat)rrÚresultrrrÚ get_price_preRs
r4cCs:tƒ}||krdSt ¡}| d |¡t ¡t|ƒ¡dS)Nz price-pre-{})r,r r r!r.rr Ústr)rÚpricerrrrrÚ set_price_pre[s
r7cCs2t|ƒ}|dkrdSt t t|ƒ¡t d¡¡S)Nz1.1)r4rÚto_priceÚdecimalÚDecimalr5)rr6rrrÚget_limit_up_pricedsr;cCs2t|ƒ}|dkrdSt t t|ƒ¡t d¡¡S)Nz0.9)r4rr8r9r:r5)rr6rrrÚget_limit_down_pricelsr<cCs,t ¡}| d |¡¡}|dk    r(t|ƒSdS)Nzprice-{})r r r%r.r2)rrr3rrrÚ    get_pricets
r=cCs$t ¡}| d |¡t ¡|¡dS)Nzprice-{})r r r!r.rr )rr6rrrrÚ    set_price}sr>cCsRt ¡}| d¡}tƒ}x4|D],}| |¡}|dk    rt|ƒdkr| |¡qW|S)Nzlisten_code-*-*r)r r ÚkeysÚsetr%ÚlenÚadd)rr?rÚkrrrrÚget_listen_codesƒs
 
 
rDcCs"t ¡}d ||¡}| |¡}|S)Nzlisten_code-{}-{})r r r.r%)Ú    client_idÚposrÚkeyÚvaluerrrÚget_listen_code_by_poss 
rIcCs&t ¡}| d ||¡t ¡|¡dS)Nzlisten_code-{}-{})r r r!r.rr )rErFrrrrrÚset_listen_code_by_pos™srJcCs4t ¡}d ||¡}| |d¡| |t ¡¡dS)Nzlisten_code-{}-{}Ú)r r r.Úsetnxrrr )rErFrrGrrrÚinit_listen_code_by_posŸs  rMc     Csg}|dkrt ¡}n
| |¡t |¡xâ|D]Ú}t ¡}d |¡}| |¡}t |¡g}xR|D]J}|     |¡}|dks†t
|ƒdkr |t |  d |¡d¡ƒfS| ||f¡qdWt ƒ}d}    xL|D]D}
|    d}    | |
d¡t
|ƒ|    krÂ|t |
d  d |¡d¡ƒfSqÂWq0WdS)Nrzlisten_code-{}-*zlisten_code-{}-rKr)NN)Ú data_processÚgetValidL2Clientsr ÚrandomÚshuffler r r.r?r%rAÚintÚreplacer@rB) rEÚ
client_idsrrCr?rrGr3Z    codes_setÚcountrrrrÚget_can_listen_pos§s0
 
 
 
 
 
 
 
 
 
 &rVcCsZt ¡}| d¡}xB|D]:}| |¡}|dk    r||kr| d¡d| d¡dfSqWdS)Nzlisten_code-*-*ú-rr-)NN)r r r?r%r    )rrr?rGr3rrrÚget_listen_code_posÉs
 
 
 rXcCstƒ}| |¡S)N)rDÚ __contains__)rrrrrÚ    is_listenÔsrZcCs"t ¡}tƒ}t|ƒdt|ƒkS)Né)rNrOrDrA)ÚclientsrrrrÚis_listen_fullÚsr]cCst ¡}| d |¡¡dk    S)Nz gp_operate-{})r r r%r.)rrrrrÚ
is_operateásr^cCs t ¡}| d |¡dd¡dS)Nz gp_operate-{}éÚ1)r r r!r.)rrrrrÚ set_operateçsracCst ¡}| d |¡¡dS)Nz gp_operate-{})r r rr.)rrrrrÚ
rm_operateísrbÚ__main__r-é)N)r)'rrPr#Ú    authorityrÚ redis_managerrrrNr9Ú RedisManagerr rr$r'r)r+r,r1r4r7r;r<r=r>rDrIrJrMrVrXrZr]r^rarbÚ__name__rÚprintrrrrÚ<module>sJ
 
             
 
"