/usr/lib/python2.6/site-packages/supervisor
NameSizeModeActions
medusa/-0755rm
ui/-0755rm
datatypes.py66410644editdlrm
datatypes.pyc90950644editdlrm
datatypes.pyo90470644editdlrm
http.py265330644editdlrm
http.pyc227660644editdlrm
http.pyo227660644editdlrm
http_client.py62910644editdlrm
http_client.pyc87590644editdlrm
http_client.pyo86800644editdlrm
options.py554490644editdlrm
options.pyc494110644editdlrm
options.pyo494110644editdlrm
pidproxy.py17970644editdlrm
pidproxy.pyc26580644editdlrm
pidproxy.pyo26580644editdlrm
supervisorctl.py214970644editdlrm
supervisorctl.pyc200430644editdlrm
supervisorctl.pyo200430644editdlrm
supervisord.py274900644editdlrm
supervisord.pyc221170644editdlrm
supervisord.pyo220040644editdlrm
test.py1175440644editdlrm
test.pyc1172160644editdlrm
test.pyo1172160644editdlrm
web.py175630644editdlrm
web.pyc150220644editdlrm
web.pyo150220644editdlrm
xmlrpc.py326580644editdlrm
xmlrpc.pyc276600644editdlrm
xmlrpc.pyo275420644editdlrm
__init__.py80644editdlrm
__init__.pyc1420644editdlrm
__init__.pyo1420644editdlrm
Edit: /usr/lib/python2.6/site-packages/supervisor/supervisord.pyc (22117B)
FATc@sLdZddkZddkZddkZddkZddkZddkZddkZddkZddk Z ddk Z ddk Z ddk Z ddk lZddk lZddk lZdfdYZdZd fd YZd Zd fd YZdfdYZedZedjo endS(ssupervisord -- run a set of applications as daemons. Usage: %s [options] Options: -c/--configuration URL -- configuration file or URL -n/--nodaemon -- run in the foreground (same as 'nodaemon true' in config file) -h/--help -- print this usage message and exit -u/--user USER -- run supervisord as this user (or numeric uid) -m/--umask UMASK -- use this umask for daemon subprocess (default is 022) -d/--directory DIRECTORY -- directory to chdir to when daemonized -l/--logfile FILENAME -- use FILENAME as logfile path -y/--logfile_maxbytes BYTES -- use BYTES to limit the max size of logfile -z/--logfile_backups NUM -- number of backups to keep when max bytes reached -e/--loglevel LEVEL -- use LEVEL as log level (debug,info,warn,error,critical) -j/--pidfile FILENAME -- write a pid file for the daemon process to FILENAME -i/--identifier STR -- identifier used for this instance of supervisord -q/--childlogdir DIRECTORY -- the log directory for child process logs -k/--nocleanup -- prevent the process from performing cleanup (removal of orphaned child log files, etc.) at startup. -w/--http_port SOCKET -- the host/port that the HTTP server should listen on -g/--http_username STR -- the username for HTTP auth -r/--http_password STR -- the password for HTTP auth -a/--minfds NUM -- the minimum number of file descriptors for start success --minprocs NUM -- the minimum number of processes available for start success iN(t ServerOptions(tdecode_wait_status(tsignamet ProcessStatescBs8eZdZdZdZdZdZdZdZdZ RS(ii iii(idii( t__name__t __module__tSTOPPEDtSTARTINGtRUNNINGtBACKOFFtSTOPPINGtEXITEDtFATALtUNKNOWN(((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pyR;scCs3x,tiD]!}tt||jo|Sq WdS(N(Rt__dict__tgetattr(tcodet statename((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pytgetProcessStateDescriptionEs tSupervisorStatescBseZdZdZRS(ii(RRtACTIVEtSHUTDOWN(((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pyRJscCs3x,tiD]!}tt||jo|Sq WdS(N(RRR(RR((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pytgetSupervisorStateDescriptionNs t SubprocesscBseZdZdZdZdZdZdZdZdZ dZ dZ dZ dZdZdZdZdZdZdZdZdZd Zd Zd Zd Zd ZdZdZdZdZdZ dZ!dZ"RS(sA class to manage a subprocess.itc Csq||_||_h|_|ioH|i}|i}|i|itidd| d|d||_ ndS(scConstructor. Arguments are a ServerOptions instance and a ProcessConfig instance. s %(message)strotatingtmaxbytestbackupsN( toptionstconfigtpipestlogfiletlogfile_backupstlogfile_maxbytest getLoggertloggingtINFOtchildlog(tselfRRRR((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pyt__init__gs      cCs=|io/x,|iiD]}|i|iqWndS(N(R%thandlerstremovetreopen(R&thandler((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pyt removelogs{s    cCs3|io%x"|iiD]}|iqWndS(N(R%R(R*(R&R+((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pyt reopenlogss  cCsu|iog|id}|_|io|ii|nd|ii|f}|iii|ii|ndS(NRs %s output: %s( t logbufferR%tinfoRtnameRtloggertlogtTRACE(R&tdatatmsg((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pyt log_outputs   cGso|ii|id}|djo%|ii|id|id=n|iio|i|7_ndS(NtstdoutR(RtreadfdRtclose_fdRt log_stdoutR.(R&tignoredtoutput((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pyt drain_stdouts   cGso|ii|id}|djo%|ii|id|id=n|iio|i|7_ndS(NtstderrR(RR8RR9Rt log_stderrR.(R&R;R<((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pyt drain_stderrs   cCsF|iido|in|iido|indS(NR7R>(Rthas_keyR=R@(R&((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pytdrainscCs|ipgSg}|iido!|i|id|ign|iido!|i|id|ign|S(NR7R>(RRAtappendR=R@(R&tdrains((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pytget_pipe_drainss !!cCsti|ii}|d}d|joM|}y#|ii|}|||fSWqtj o||dfSXn|ii}d}d}x_|D]W}t i i ||}y#|ii|}|||fSWqtj o qqXqWd|dfSdS(sYInternal: turn a program name into a file name, using $PATH, make sure it exists it/N( tshlextsplitRtcommandRtstattOSErrortNonetget_pathtostpathtjoin(R&t commandargstprogramtfilenametstROtdir((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pytget_execv_argss*   cCsPti}||_|iiid||id|_||i|_dS(Ns spawnerr: %si(ttimetspawnerrRR1tcriticaltbackofftdelay(R&R5tnow((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pytrecord_spawnerrs   cCs|ii}|io"d|}|iii|dSd|_d|_d|_ d|_ d|_ t i |_ |i\}}}|ii|||}|dj o|i|dSy|ii|_Wndtj oX}|d}|tijod|}ndtii||}|i|dSXy|ii} Wntj o~}|d}|tijod|}ndtii||}|i||ii|i|ii|idSX| djop| |_|ii|i|iiid|| fd|_t i |ii|_||ii| <| Sz|ii |ii!|idd|ii!|id d |ii!|id d x-t"d |ii#D]} |ii$| qW|i%}|oD|ii&d d||ii'f|ii&d d||fny|ii(||Wntj oC}|d}|ii&d d|dtii||fn\t)i*\\} } } }}}d||| | f}|ii&d d||fnXWd|ii+dXdS(sStart the subprocess. It must not be running already. Return the process id. If the fork() call fails, return 0. sprocess %r already runningNistoo many open files to spawn %rsunknown error: %ss/Too many processes in process table to spawn %rsspawned: %r with pid %st child_stdint child_stdoutit child_stderriis"%s: error trying to setuid to %s! s%s: %s scouldn't exec %s: %s s%s, %s: file: %s line: %si(,RR0tpidRR1RYtkillingRLRXt exitstatust system_stoptadministrative_stopRWt laststartRVtcheck_execv_argsR]t make_pipesRRKterrnotEMFILEt errorcodetgettforktEAGAINtclose_parent_pipestclose_child_pipesR/t startsecsR[t pidhistorytsetpgrptdup2trangetminfdsR9tset_uidtwritetuidtexecvtasyncoretcompact_tracebackt_exit(R&tpnameR5RStargvRTtfail_msgtwhyRRatitfiletfuntlinetttvttbinfoterror((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pytspawns                    ! %!cCsd|_|i|iiS(s Administrative stop i(RetkillRt stopsignal(R&((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pytstop;s c Cs0ti}|ip4d|iit|f}|iii||Sye|iiid|ii|it|fd|_||ii |_ |ii |i|Wnzt i }t id||i}d|ii|i|f}|iii|d|_d|_d|_ |SXdS(sSend a signal to the subprocess. This may or may not kill it. Return None if the signal was sent, or an error message string if an error occurred or if the subprocess is not running. s6attempted to kill %s with sig %s but it wasn't runnings"killing %s (pid %s) with signal %siRs"unknown problem killing %s (%s):%siN(RWRaRR0RRR1tdebugRbt stopwaitsecsR[RtStringIOt tracebackt print_exctgetvalueRYRL(R&tsigR\R5tiottb((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pyR@s4          c Cs|i|it|\}}ti}||_|ii}||i|iij}||ii j}|p| } |i o/d|_ d|_ ||_ d||f}n| o3d|_ d|_ ||_ d||df}njd |_ |i d|_ ||i |_ |o d|_n|od||_nd||df}|iii|d|_|ii|ih|_d S( sK The process was reaped and we need to report and manage its state isstopped: %s (%s)sexited: %s (%s)s ; expectedis1Exited too quickly (process log may have details)sBad exit code %ss; not expectedN(RBR6RRWtlaststopRR0RfRqt exitcodesRbR[RcRZRLRXRR1R/RaRoR( R&RatststesR5R\t processnamet tooquicklytbadexittexpected((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pytfinishcs>               cCs4|iidjodS|ii|ii}|S(N(RRyRLRtdropPrivileges(R&R5((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pyRwscCst|ii|iiS(N(tcmpRtpriority(R&tother((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pyt__cmp__scCs)dt||iit|ifS(Ns+(tidRR0Rt get_state(R&((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pyt__repr__s  cCs|iptiS|iotiS|iotiS|idj o|i otiSti Sn:|i o|i oti StiSn|i otiStiS(N(RfRRRbR RdR RcRLReR R[RaRR RR (R&((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pyRs"         N(#RRt__doc__RaRfRR[ReRdRbRZRLRR%R.RcRXR'R,R-R6R=R@RBRERVR]RRRRRwRRR(((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pyRSs@          h  # 2   t SupervisorcBseZdZeZdZdZdeedZedZ edZ dZ dZ dZ d Zd Zd Zed Zd ZdZRS(iicCs ||_dS(N(R(R&R((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pyR'scCs|ii||iig}g}|ii}|o|i|n|o |ii}|i|n|ii|||iip|ii n|ii |i |dS(N( Rtrealizet cleanup_fdsRwRCt set_rlimitstextendt make_loggert nocleanuptclear_autochildlogdirtcreate_autochildlogstrun(R&targsttesttfirstt info_messagestcritical_messagest setuid_msgtrlimit_messages((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pytmains   cCsh|_x6|iiD](}|i}|ii||i| than %s seconds (startsecs)ssuccess: %s %s(RWRRRRRR1RR RZt startretriesR[RdR/R0RRfRq(R&R\RRRRR1R5((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pyRos*       "   cCs6g}|iiD]}|io ||qq~S(s* Processes which are starting or stopping (RRR[(R&RR((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pyRscCs{ti}|ii}g}xS|D]K}|itijo/|i|}|djo|i|qsq(q(W|S(s Processes which we've attempted to stop but which haven't responded to a kill request within a given amount of time (stopwaitsecs) i(RWRRRRR R[RC(R&R\RtundeadRt time_left((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pyt get_undeads   cCsQxJ|iD]<}|iiid|ii|if|iti q WdS(Nskilling %r (%s) with SIGKILL( RRR1RYRR0RaRtsignaltSIGKILL(R&R((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pyRs    cCs|ii\}}|ou|iii|d}|djo|iiid|n|ii}|i |||p|i qndS(Nsreaped unknown pid %s)( RtwaitpidRrRlRLR1RYRR0RR(R&tonceRaRtprocessR0((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pyRs  cCsa|iioP|iid}|i_|tititifjo*|iiidt|d|_ q]|ti jo*|iiidt|d|_ q]|ti jo!|iii dt|q]|ti joR|iii dt||iixB|iiD]}|iq$Wq]|iiidt|ndS(Ns#received %s indicating exit requestis&received %s indicating restart requestis#received %s indicating a child quits)received %s indicating log reopen requestsreceived %s indicating nothing(RRRLtSIGTERMtSIGINTtSIGQUITR1RYRRtSIGHUPtSIGCHLDR/tSIGUSR2R-RRR(R&RR((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pyRs,         cCs|idjotiStiS(Ni(RRRR(R&((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pyRsN(RRRtFalseRRR'RLRRRRRRRRRRRR(((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pyRs    Y   "   cCstidjp tdt}xt}t|}|id||t}|o|S|i djot i dnx!|i i D]}|iqW|iio|iiiq#q#dS(Ntposixs)This code makes Unix-specific assumptionsi(RNR0tAssertionErrorRRRRRLRRtsystexitRRR,Rt httpservertclose(RRRtdR((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pyRs    t__main__(RRNRRWRitsocketRRR{RRRGR#RRRRRRRRRRRRR(((s:/usr/lib/python2.6/site-packages/supervisor/supervisord.pyt(s4              h