1
1
from pyres .exceptions import NoQueueError
2
2
from pyres .job import Job
3
- from pyres import ResQ , Stat
3
+ from pyres import ResQ , Stat , __version__
4
4
import logging
5
5
import signal
6
6
import datetime , time
7
7
import os , sys
8
8
import time
9
9
import json_parser as json
10
10
import commands
11
+ try :
12
+ from setproctitle import setproctitle
13
+ except :
14
+ def setproctitle (name ):
15
+ pass
11
16
12
17
class Worker (object ):
13
18
"""Defines a worker. The ``pyres_worker`` script instantiates this Worker class and
@@ -117,6 +122,7 @@ def work(self, interval=5):
117
122
Finally, the ``process`` method actually processes the job by eventually calling the Job instance's ``perform`` method.
118
123
119
124
"""
125
+ setproctitle ('pyres: Starting' )
120
126
self .startup ()
121
127
while True :
122
128
if self ._shutdown :
@@ -128,6 +134,7 @@ def work(self, interval=5):
128
134
logging .debug ('job details: %s' % job )
129
135
self .child = os .fork ()
130
136
if self .child :
137
+ setproctitle ("pyres-%s: Forked %s at %s" % (__version__ , self .child , datetime .datetime .now ()))
131
138
logging .info ('Forked %s at %s' % (self .child , datetime .datetime .now ()))
132
139
try :
133
140
os .waitpid (self .child , 0 )
@@ -138,13 +145,16 @@ def work(self, interval=5):
138
145
#os.wait()
139
146
logging .debug ('done waiting' )
140
147
else :
148
+ setproctitle ("pyres-%s: Processing %s since %s" % (__version__ , job ._queue , datetime .datetime .now ()))
141
149
logging .info ('Processing %s since %s' % (job ._queue , datetime .datetime .now ()))
142
150
self .process (job )
143
151
os ._exit (0 )
144
152
self .child = None
145
153
else :
146
154
if interval == 0 :
147
155
break
156
+ #procline @paused ? "Paused" : "Waiting for #{@queues.join(',')}"
157
+ setproctitle ("pyres-%s: Waiting for %s " % (__version__ , ',' .join (self .queues )))
148
158
time .sleep (interval )
149
159
self .unregister_worker ()
150
160
0 commit comments