Skip to content

Commit f9750f4

Browse files
author
Matt George
committed
adding and updating setproctitle usage.
Updated the usage in worker and added to horde.
1 parent 3c26e65 commit f9750f4

File tree

2 files changed

+18
-5
lines changed

2 files changed

+18
-5
lines changed

pyres/horde.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@
1313
from pyres.utils import OrderedDict
1414
from pyres.job import Job
1515
import pyres.json_parser as json
16+
try:
17+
from setproctitle import setproctitle
18+
except:
19+
def setproctitle(name):
20+
pass
1621

1722
def setup_logging(namespace='', log_level=logging.INFO, log_file=None):
1823

@@ -52,6 +57,8 @@ def prune_dead_workers(self):
5257
pass
5358

5459
def schedule_shutdown(self, signum, frame):
60+
print signum,
61+
print 'inside shutdown'
5562
self._shutdown = True
5663

5764
def register_signal_handlers(self):
@@ -97,6 +104,7 @@ def process(self, job):
97104
self.done_working()
98105

99106
def working_on(self, job):
107+
setproctitle('pyres_minion:%s: working on job: %s' % (os.getppid(), job._payload))
100108
self.logger.debug('marking as working on')
101109
data = {
102110
'queue': job._queue,
@@ -128,6 +136,8 @@ def work(self, interval=5):
128136

129137
self.startup()
130138
while True:
139+
setproctitle('pyres_minion:%s: waiting for job on: %s' % (os.getppid(),self.queues))
140+
self.logger.info('waiting on job')
131141
if self._shutdown:
132142
self.logger.info('shutdown scheduled')
133143
break
@@ -139,7 +149,7 @@ def work(self, interval=5):
139149
self.unregister_minion()
140150

141151
def run(self):
142-
152+
setproctitle('pyres_minion:%s: Starting' % (os.getppid(),))
143153
if isinstance(self.server,basestring):
144154
self.resq = ResQ(server=self.server, password=self.password)
145155
elif isinstance(self.server, ResQ):
@@ -257,6 +267,7 @@ def _shutdown_minions(self):
257267
"""
258268
send the SIGNINT signal to each worker in the pool.
259269
"""
270+
setproctitle('pyres_manager: Waiting on children to shutdown.')
260271
for minion in self._workers.values():
261272
minion.terminate()
262273
minion.join()
@@ -281,10 +292,12 @@ def setup_minions(self):
281292
self._add_minion()
282293

283294
def work(self, interval=2):
295+
setproctitle('pyres_manager: Starting')
284296
self.startup()
285297
self.setup_minions()
286298
self.setup_resq()
287299
self.register_khan()
300+
setproctitle('pyres_manager: running')
288301
while True:
289302
self._check_commands()
290303
if self._shutdown:

pyres/worker.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ def work(self, interval=5):
122122
Finally, the ``process`` method actually processes the job by eventually calling the Job instance's ``perform`` method.
123123
124124
"""
125-
setproctitle('pyres: Starting')
125+
setproctitle('pyres_worker-%s: Starting' % __version__)
126126
self.startup()
127127
while True:
128128
if self._shutdown:
@@ -134,7 +134,7 @@ def work(self, interval=5):
134134
logging.debug('job details: %s' % job)
135135
self.child = os.fork()
136136
if self.child:
137-
setproctitle("pyres-%s: Forked %s at %s" % (__version__, self.child, datetime.datetime.now()))
137+
setproctitle("pyres_worker%s: Forked %s at %s" % (__version__, self.child, datetime.datetime.now()))
138138
logging.info('Forked %s at %s' % (self.child, datetime.datetime.now()))
139139
try:
140140
os.waitpid(self.child, 0)
@@ -145,7 +145,7 @@ def work(self, interval=5):
145145
#os.wait()
146146
logging.debug('done waiting')
147147
else:
148-
setproctitle("pyres-%s: Processing %s since %s" % (__version__, job._queue, datetime.datetime.now()))
148+
setproctitle("pyres_worker-%s: Processing %s since %s" % (__version__, job._queue, datetime.datetime.now()))
149149
logging.info('Processing %s since %s' % (job._queue, datetime.datetime.now()))
150150
self.process(job)
151151
os._exit(0)
@@ -154,7 +154,7 @@ def work(self, interval=5):
154154
if interval == 0:
155155
break
156156
#procline @paused ? "Paused" : "Waiting for #{@queues.join(',')}"
157-
setproctitle("pyres-%s: Waiting for %s " % (__version__, ','.join(self.queues)))
157+
setproctitle("pyres_worker-%s: Waiting for %s " % (__version__, ','.join(self.queues)))
158158
time.sleep(interval)
159159
self.unregister_worker()
160160

0 commit comments

Comments
 (0)