hzr
1 天以前 c999bc50d37b5371f92ba71b3ab70f6eeb0e5076
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
7’Žec@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((sV.\TCode\TeamServer\Server6\Servers\PyMongoDataServer\src\LogicProcess\CtrlDBManager.pyR s     cCs"x|jD]}|jƒq
WdS(N(R trun(Rt dbProcesser((sV.\TCode\TeamServer\Server6\Servers\PyMongoDataServer\src\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((sV.\TCode\TeamServer\Server6\Servers\PyMongoDataServer\src\LogicProcess\CtrlDBManager.pyR!s(                               cCs |jjƒS(N(Rtqsize(R((sV.\TCode\TeamServer\Server6\Servers\PyMongoDataServer\src\LogicProcess\CtrlDBManager.pytdbRequestQueueCnt=scCs|jj|ƒdS(N(Rtput(Rtpack((sV.\TCode\TeamServer\Server6\Servers\PyMongoDataServer\src\LogicProcess\CtrlDBManager.pyt dbRequestPush@scCs/y|jjƒ}Wntjk
r*dSX|S(N(Rt
get_nowaitR tEmptytNone(RR ((sV.\TCode\TeamServer\Server6\Servers\PyMongoDataServer\src\LogicProcess\CtrlDBManager.pyRDs
cCs |jjƒS(N(RR"(R((sV.\TCode\TeamServer\Server6\Servers\PyMongoDataServer\src\LogicProcess\CtrlDBManager.pytdbAnswerQueueCntLscCs|jj|ƒdS(N(RR$(RR%((sV.\TCode\TeamServer\Server6\Servers\PyMongoDataServer\src\LogicProcess\CtrlDBManager.pyt dbAnswerPushOscCs/y|jjƒ}Wntjk
r*dSX|S(N(RR'R R(R)(RR!((sV.\TCode\TeamServer\Server6\Servers\PyMongoDataServer\src\LogicProcess\CtrlDBManager.pyRRs
cCs t|jƒS(N(tlenR (R((sV.\TCode\TeamServer\Server6\Servers\PyMongoDataServer\src\LogicProcess\CtrlDBManager.pyt getCtrlDBCntYscCsy|j|SWndSXdS(N(R R)(Rtindex((sV.\TCode\TeamServer\Server6\Servers\PyMongoDataServer\src\LogicProcess\CtrlDBManager.pyt    getCtrlDB\scCs.x'|jD]}|jƒ|kr
|Sq
WdS(N(R R(RtNamet    curCtrlDB((sV.\TCode\TeamServer\Server6\Servers\PyMongoDataServer\src\LogicProcess\CtrlDBManager.pytgetCtrlDBByNameascCs|jj|ƒdS(N(R tappend(RtctrlDB((sV.\TCode\TeamServer\Server6\Servers\PyMongoDataServer\src\LogicProcess\CtrlDBManager.pyt    addCtrlDBfscCsLxEt|jƒD]4\}}|jƒ|jƒkr||j|<qqWdS(N(t    enumerateR R(Rt    newCtrlDBtiR1((sV.\TCode\TeamServer\Server6\Servers\PyMongoDataServer\src\LogicProcess\CtrlDBManager.pyt replaceCtrlDBiscCs4|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((sV.\TCode\TeamServer\Server6\Servers\PyMongoDataServer\src\LogicProcess\CtrlDBManager.pyRos&  (   ( cCsXx|jD]}|jƒq
Wt|_tj|ƒtjd|jƒ|jfƒdS(NsThread %s(%s) start!(    R tstartRRRRRRtident(RtdbProcessThread((sV.\TCode\TeamServer\Server6\Servers\PyMongoDataServer\src\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(RRL((sV.\TCode\TeamServer\Server6\Servers\PyMongoDataServer\src\LogicProcess\CtrlDBManager.pytstopAll—s    cCsZd}x1|jD]&}||jƒjƒ7}|d7}qWtjtjƒdd|ƒdS(Nts
t    FuncGrades FuncGrade.txt(R tGetFuncGradeManagertGetFmtGradeInfoRtDumpDataRt
getAppPath(RtdumpInfoR4((sV.\TCode\TeamServer\Server6\Servers\PyMongoDataServer\src\LogicProcess\CtrlDBManager.pyt DumpFuncGrade¤s
cCsZd}x1|jD]&}||jƒjƒ7}|d7}qWtjtjƒdd|ƒdS(NRQs
RRsSpeedGrade.txt(R tGetSpeedGradeMgrRTRRURRV(RRWR4((sV.\TCode\TeamServer\Server6\Servers\PyMongoDataServer\src\LogicProcess\CtrlDBManager.pytDumpSpeedGrade«s
(t__name__t
__module__R RRR#R&RR*R+RR-R/R2R5R9RRMRPRXRZ(((sV.\TCode\TeamServer\Server6\Servers\PyMongoDataServer\src\LogicProcess\CtrlDBManager.pyR    s&                                                                          cCststƒantS(N(t _ctrlDBManagrR    (((sV.\TCode\TeamServer\Server6\Servers\PyMongoDataServer\src\LogicProcess\CtrlDBManager.pyt
getCtrlMgr´s (R t    threadingRttimeRtCommonRRRtNetRtDBCommonRRRt
__import__RR    R)R]R^(((sV.\TCode\TeamServer\Server6\Servers\PyMongoDataServer\src\LogicProcess\CtrlDBManager.pyt<module>s  