11from pyres .exceptions import NoQueueError
22from pyres .job import Job
3- from pyres import ResQ , Stat
3+ from pyres import ResQ , Stat , __version__
44import logging
55import signal
66import datetime , time
77import os , sys
88import time
99import json_parser as json
1010import commands
11+ try :
12+ from setproctitle import setproctitle
13+ except :
14+ def setproctitle (name ):
15+ pass
1116
1217class Worker (object ):
1318 """Defines a worker. The ``pyres_worker`` script instantiates this Worker class and
@@ -117,6 +122,7 @@ def work(self, interval=5):
117122 Finally, the ``process`` method actually processes the job by eventually calling the Job instance's ``perform`` method.
118123
119124 """
125+ setproctitle ('pyres: Starting' )
120126 self .startup ()
121127 while True :
122128 if self ._shutdown :
@@ -128,6 +134,7 @@ def work(self, interval=5):
128134 logging .debug ('job details: %s' % job )
129135 self .child = os .fork ()
130136 if self .child :
137+ setproctitle ("pyres-%s: Forked %s at %s" % (__version__ , self .child , datetime .datetime .now ()))
131138 logging .info ('Forked %s at %s' % (self .child , datetime .datetime .now ()))
132139 try :
133140 os .waitpid (self .child , 0 )
@@ -138,13 +145,16 @@ def work(self, interval=5):
138145 #os.wait()
139146 logging .debug ('done waiting' )
140147 else :
148+ setproctitle ("pyres-%s: Processing %s since %s" % (__version__ , job ._queue , datetime .datetime .now ()))
141149 logging .info ('Processing %s since %s' % (job ._queue , datetime .datetime .now ()))
142150 self .process (job )
143151 os ._exit (0 )
144152 self .child = None
145153 else :
146154 if interval == 0 :
147155 break
156+ #procline @paused ? "Paused" : "Waiting for #{@queues.join(',')}"
157+ setproctitle ("pyres-%s: Waiting for %s " % (__version__ , ',' .join (self .queues )))
148158 time .sleep (interval )
149159 self .unregister_worker ()
150160
0 commit comments