hxp
15 分钟以前 4b390ebd5b48b7c3894631e27b2298ad08b34e6f
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
6hc@s¯ddlZddlmZddlmZddlmZmZmZddl    m
Z
ddl m Z m Z mZedƒZdejefd    „ƒYZdad
„ZdS( iÿÿÿÿN(tThread(tsleep(tCommFunct    Singletontmylog(t MongoDBServer(t
DataDumpertGlobalFunctionsterrorsConfig.DBConfigt CtrlDBManagercBs³eZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
d    „Z d
„Z d „Z d „Zd „Zd„Zd„Zd„Zd„Zd„ZRS(cCsWtjj|ƒtj|ddƒg|_tjƒ|_tjƒ|_t|_dS(NtnameR    (    Rt__init__Rt#_CtrlDBManager__ctrlDBPriorityQueuetQueuet"_CtrlDBManager__dbRequestPackQueuet!_CtrlDBManager__dbAnswerPackQueuetFalset_CtrlDBManager__elegantExit(tself((s-.\\ServersRoute\LogicProcess\CtrlDBManager.pyR s     cCs"x|jD]}|jƒq
WdS(N(R trun(Rt dbProcesser((s-.\\ServersRoute\LogicProcess\CtrlDBManager.pytrunAllscCstx-tr/|jƒ}|r+|j|ƒqPqW|jƒx3tro|jƒ}|rktjƒj|ƒq=Pq=WdS(N(tTruet dbRequestPopt packDispatchRt dbAnswerPopRt getServerMgrtpushSend(Rtrequesttanswer((s-.\\ServersRoute\LogicProcess\CtrlDBManager.pyR!s     
     cCs |jjƒS(N(Rtqsize(R((s-.\\ServersRoute\LogicProcess\CtrlDBManager.pytdbRequestQueueCnt4scCs|jj|ƒdS(N(Rtput(Rtpack((s-.\\ServersRoute\LogicProcess\CtrlDBManager.pyt dbRequestPush7scCs/y|jjƒ}Wntjk
r*dSX|S(N(Rt
get_nowaitR tEmptytNone(RR((s-.\\ServersRoute\LogicProcess\CtrlDBManager.pyR;s
cCs |jjƒS(N(RR(R((s-.\\ServersRoute\LogicProcess\CtrlDBManager.pytdbAnswerQueueCntCscCs|jj|ƒdS(N(RR (RR!((s-.\\ServersRoute\LogicProcess\CtrlDBManager.pyt dbAnswerPushFscCs/y|jjƒ}Wntjk
r*dSX|S(N(RR#R R$R%(RR((s-.\\ServersRoute\LogicProcess\CtrlDBManager.pyRIs
cCs t|jƒS(N(tlenR (R((s-.\\ServersRoute\LogicProcess\CtrlDBManager.pyt getCtrlDBCntPscCsy|j|SWndSXdS(N(R R%(Rtindex((s-.\\ServersRoute\LogicProcess\CtrlDBManager.pyt    getCtrlDBSscCs.x'|jD]}|jƒ|kr
|Sq
WdS(N(R tgetName(RtNamet    curCtrlDB((s-.\\ServersRoute\LogicProcess\CtrlDBManager.pytgetCtrlDBByNameXscCs|jj|ƒdS(N(R tappend(RtctrlDB((s-.\\ServersRoute\LogicProcess\CtrlDBManager.pyt    addCtrlDB]scCsLxEt|jƒD]4\}}|jƒ|jƒkr||j|<qqWdS(N(t    enumerateR R,(Rt    newCtrlDBtiR.((s-.\\ServersRoute\LogicProcess\CtrlDBManager.pyt replaceCtrlDB`scCs4|dkr5tjdtjdƒ}tj|ƒtS|jƒdkr€tjdtjd|jƒj    ƒƒ}tj|ƒtS|j
ƒ}d}t j ||ƒ\}}xN|j D]C}|j|ƒr´tjd||jƒfƒ|j|ƒtSq´Wtjdtjd||j    ƒfƒ}tj|ƒtS(NRs pack is Noneis#pack.getLength() < 1 pack head = %sisDispatch type = %s to %ss%type = %d   request %s not processed!(R%Rt    formatMsgt ERROR_NO_46RRt    getLengtht ERROR_NO_47t getPackHeadt outputStringt    getBufferRtReadBYTER t
canProcesstdebugR,t requestPushRt ERROR_NO_48(RR!tmsgtbuftreadPosttypeR((s-.\\ServersRoute\LogicProcess\CtrlDBManager.pyRfs&  (   ( cCsXx|jD]}|jƒq
Wt|_tj|ƒtjd|jƒ|jfƒdS(NsThread %s(%s) start!(    R tstartRRRRtinfoR,tident(RtdbProcessThread((s-.\\ServersRoute\LogicProcess\CtrlDBManager.pytstartAll}s
     cCs„yXtjd|jƒƒt|_x|jƒr?tdƒq&Wtjd|jƒƒWnnXx|jD]}|jƒqlWdS(NsStopping thread %s...gš™™™™™¹?sThread %s stop ok!(    RRHR,RRtisAliveRR tstop(RRJ((s-.\\ServersRoute\LogicProcess\CtrlDBManager.pytstopAll…s    cCsZd}x1|jD]&}||jƒjƒ7}|d7}qWtjtjƒdd|ƒdS(Nts
t    FuncGrades FuncGrade.txt(R tGetFuncGradeManagertGetFmtGradeInfoRtDumpDataRt
getAppPath(RtdumpInfoR1((s-.\\ServersRoute\LogicProcess\CtrlDBManager.pyt DumpFuncGrade’s
cCsZd}x1|jD]&}||jƒjƒ7}|d7}qWtjtjƒdd|ƒdS(NROs
RPsSpeedGrade.txt(R tGetSpeedGradeMgrRRRRSRRT(RRUR1((s-.\\ServersRoute\LogicProcess\CtrlDBManager.pytDumpSpeedGrade™s
(t__name__t
__module__R RRRR"RR&R'RR)R+R/R2R6RRKRNRVRX(((s-.\\ServersRoute\LogicProcess\CtrlDBManager.pyR    s&                                                                         cCststƒantS(N(t _ctrlDBManagrR    (((s-.\\ServersRoute\LogicProcess\CtrlDBManager.pyt
getCtrlMgr¢s (R t    threadingRttimeRtCommonRRRtNetRtDBCommonRRRt
__import__tDBConfigR    R%R[R\(((s-.\\ServersRoute\LogicProcess\CtrlDBManager.pyt<module>s  ‹