cehua_ZWJ
2019-01-30 6afaa4408f4e09e3e95dbd92f0d1cd5a1fb2942b
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
lÆ{Pc@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„ZRS(cCsWtjj|ƒtj|ddƒg|_tjƒ|_tjƒ|_t|_dS(NtnameR    (    Rt__init__Rt#_CtrlDBManager__ctrlDBPriorityQueuetQueuet"_CtrlDBManager__dbRequestPackQueuet!_CtrlDBManager__dbAnswerPackQueuetFalset_CtrlDBManager__elegantExit(tself((s;.\server\db\PyMongoDataServer\LogicProcess\CtrlDBManager.pyR s     cCs"x|jD]}|jƒq
WdS(N(R trun(Rt dbProcesser((s;.\server\db\PyMongoDataServer\LogicProcess\CtrlDBManager.pytrunAllscCsÔxªtr¬x-tr8|jƒ}|r4|j|ƒq Pq WtjsO|jƒnx3tr„|jƒ}|r€tjƒj    |ƒqRPqRWtjs’dS|j
rŸPnt dƒqWtjrÐt j d|jƒƒndS(Ngš™™™™™¹?sThread %s exit!(tTruet dbRequestPopt packDispatchtDBConfigtMultiThreadingRt dbAnswerPopRt getServerMgrtpushSendRRRtinfotgetName(Rtrequesttanswer((s;.\server\db\PyMongoDataServer\LogicProcess\CtrlDBManager.pyR!s(                               cCs |jjƒS(N(Rtqsize(R((s;.\server\db\PyMongoDataServer\LogicProcess\CtrlDBManager.pytdbRequestQueueCnt=scCs|jj|ƒdS(N(Rtput(Rtpack((s;.\server\db\PyMongoDataServer\LogicProcess\CtrlDBManager.pyt dbRequestPush@scCs/y|jjƒ}Wntjk
r*dSX|S(N(Rt
get_nowaitR tEmptytNone(RR ((s;.\server\db\PyMongoDataServer\LogicProcess\CtrlDBManager.pyRDs
cCs |jjƒS(N(RR"(R((s;.\server\db\PyMongoDataServer\LogicProcess\CtrlDBManager.pytdbAnswerQueueCntLscCs|jj|ƒdS(N(RR$(RR%((s;.\server\db\PyMongoDataServer\LogicProcess\CtrlDBManager.pyt dbAnswerPushOscCs/y|jjƒ}Wntjk
r*dSX|S(N(RR'R R(R)(RR!((s;.\server\db\PyMongoDataServer\LogicProcess\CtrlDBManager.pyRRs
cCs t|jƒS(N(tlenR (R((s;.\server\db\PyMongoDataServer\LogicProcess\CtrlDBManager.pyt getCtrlDBCntYscCsy|j|SWndSXdS(N(R R)(Rtindex((s;.\server\db\PyMongoDataServer\LogicProcess\CtrlDBManager.pyt    getCtrlDB\scCs.x'|jD]}|jƒ|kr
|Sq
WdS(N(R R(RtNamet    curCtrlDB((s;.\server\db\PyMongoDataServer\LogicProcess\CtrlDBManager.pytgetCtrlDBByNameascCs|jj|ƒdS(N(R tappend(RtctrlDB((s;.\server\db\PyMongoDataServer\LogicProcess\CtrlDBManager.pyt    addCtrlDBfscCs4|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
canProcesstdebugRt requestPushRt ERROR_NO_48(RR%tmsgtbuftreadPosttypeR((s;.\server\db\PyMongoDataServer\LogicProcess\CtrlDBManager.pyRis&  (   ( cCsXx|jD]}|jƒq
Wt|_tj|ƒtjd|jƒ|jfƒdS(NsThread %s(%s) start!(    R tstartRRRRRRtident(RtdbProcessThread((s;.\server\db\PyMongoDataServer\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!(    RRRRRtisAliveRR tstop(RRH((s;.\server\db\PyMongoDataServer\LogicProcess\CtrlDBManager.pytstopAll‘s    cCsZd}x1|jD]&}||jƒjƒ7}|d7}qWtjtjƒdd|ƒdS(Nts
t    FuncGrades FuncGrade.txt(R tGetFuncGradeManagertGetFmtGradeInfoRtDumpDataRt
getAppPath(RtdumpInfoR4((s;.\server\db\PyMongoDataServer\LogicProcess\CtrlDBManager.pyt DumpFuncGradežs
cCsZd}x1|jD]&}||jƒjƒ7}|d7}qWtjtjƒdd|ƒdS(NRMs
RNsSpeedGrade.txt(R tGetSpeedGradeMgrRPRRQRRR(RRSR4((s;.\server\db\PyMongoDataServer\LogicProcess\CtrlDBManager.pytDumpSpeedGrade¥s
(t__name__t
__module__R RRR#R&RR*R+RR-R/R2R5RRIRLRTRV(((s;.\server\db\PyMongoDataServer\LogicProcess\CtrlDBManager.pyR    s$                                                                      cCststƒantS(N(t _ctrlDBManagrR    (((s;.\server\db\PyMongoDataServer\LogicProcess\CtrlDBManager.pyt
getCtrlMgr®s (R t    threadingRttimeRtCommonRRRtNetRtDBCommonRRRt
__import__RR    R)RYRZ(((s;.\server\db\PyMongoDataServer\LogicProcess\CtrlDBManager.pyt<module>s  —