-í §°±?csSdkZdkZeidƒZdkZdfd„ƒYZdS(NsAG.ThreadPoolServersThreadPoolMixIncsGtZdZ  dd„Zd„Z&d„Z<d„ZRS(sc Mix-in class for a socket server that allocates requests to a pool of worker threads. icsN d|_tidƒ||_tiƒ|_|iƒdS(NisCreating mixin(sselfsdoneslogsdebugsnumWorkerThreadssQueues requestQueues_CreateWorkers(sselfsnumWorkerThreads((sUC:\home\olson\ag\dev\terry\AccessGrid\AccessGrid\hosting\pyGlobus\ThreadPoolServer.pys__init__ s   csh|_tiƒ|_xÕt|iƒD]Á}ti d|ƒti d|i ddt |ƒd|fƒ|i|<|ii ƒti d|ƒ |i|iƒ!ti d|ƒ"|ii ƒ#|iiƒq4W$ti dƒdS( NsCreating worker thread %dstargetsnamesThreadPoolWorker sargssStarting thread %dsWaiting thread %dsDone creating workers(sselfs workerThreads threadingsLocks startLocksrangesnumWorkerThreadss workerNumslogsdebugsThreads_ThreadPoolMixIn__WorkerRunsstrsacquiresstartsrelease(sselfs workerNum((sUC:\home\olson\ag\dev\terry\AccessGrid\AccessGrid\hosting\pyGlobus\ThreadPoolServer.pys_CreateWorkerss  cs4&'tid|ƒ(|iiƒ*xñ*|i oâ+|iidƒ},tid||ƒ-|d}.|djo/Pn0|djo~1|d}2|d}3tid||ƒ4y'5|i ||ƒ6|i|ƒWn78tid |ƒnXnq,W9tid |ƒdS( NsWorker %d startingisWorker %d gets cmd %sisquitsrequestishandle request '%s' '%s's+Worker %d: Request handling threw exceptionsWorker %d exiting(slogsdebugs workerNumsselfs startLocksreleasesdones requestQueuesgetscmdscmdTypesrequestsclient_addresssfinish_requests close_requests exception(sselfs workerNumscmdTypescmdsrequestsclient_address((sUC:\home\olson\ag\dev\terry\AccessGrid\AccessGrid\hosting\pyGlobus\ThreadPoolServer.pys __WorkerRun&s&    cs9<=tid||ƒ>|iid||fƒdS(Ns-process_request: request=%s client_address=%ssrequest(slogsdebugsrequestsclient_addresssselfs requestQueuesput(sselfsrequestsclient_address((sUC:\home\olson\ag\dev\terry\AccessGrid\AccessGrid\hosting\pyGlobus\ThreadPoolServer.pysprocess_request<s(s__name__s __module__s__doc__s__init__s_CreateWorkerss_ThreadPoolMixIn__WorkerRunsprocess_request(((sUC:\home\olson\ag\dev\terry\AccessGrid\AccessGrid\hosting\pyGlobus\ThreadPoolServer.pysThreadPoolMixIns   (s threadingsloggings getLoggerslogsQueuesThreadPoolMixIn(sQueues threadingsThreadPoolMixInsloggingslog((sUC:\home\olson\ag\dev\terry\AccessGrid\AccessGrid\hosting\pyGlobus\ThreadPoolServer.pys?s