@@ -164,14 +164,14 @@ def setup_resq(self):
164
164
self .resq = self .server
165
165
else :
166
166
raise Exception ("Bad server argument" )
167
+
167
168
def validate_queues (self ):
168
169
"Checks if a worker is given atleast one queue to work on."
169
170
if not self .queues :
170
171
raise NoQueueError ("Please give each worker at least one queue." )
171
172
172
173
def startup (self ):
173
174
self .register_signal_handlers ()
174
- self .register_worker ()
175
175
176
176
def register_signal_handlers (self ):
177
177
signal .signal (signal .SIGTERM , self .schedule_shutdown )
@@ -194,6 +194,9 @@ def add_child(self, signum, frame):
194
194
self .add_minion ()
195
195
196
196
def register_khan (self ):
197
+ if not hasattr (self , 'resq' ):
198
+ self .setup_resq ()
199
+
197
200
self .resq .redis .sadd ('resque:khans' ,str (self ))
198
201
self .started = datetime .datetime .now ()
199
202
@@ -245,13 +248,7 @@ def _remove_minion(self, pid=None):
245
248
m .terminate ()
246
249
return m
247
250
248
- def register_worker (self ):
249
- logging .debug ('registering khan' )
250
- #self.resq.redis.sadd('resque:khans',str(self))
251
- #self.resq._redis.add("worker:#{self}:started", Time.now.to_s)
252
- #self.started = datetime.datetime.now()
253
-
254
- def unregister_worker (self ):
251
+ def unregister_khan (self ):
255
252
logging .debug ('unregistering khan' )
256
253
self .resq .redis .srem ('resque:khans' ,str (self ))
257
254
self .started = None
@@ -264,6 +261,7 @@ def work(self, interval=2):
264
261
self ._workers [m .pid ] = m
265
262
logging .info ('minion added at %s' % m .pid )
266
263
self .setup_resq ()
264
+ self .register_khan ()
267
265
while True :
268
266
self ._check_commands ()
269
267
if self ._shutdown :
@@ -273,7 +271,7 @@ def work(self, interval=2):
273
271
#get job
274
272
else :
275
273
time .sleep (interval )
276
- self .unregister_worker ()
274
+ self .unregister_khan ()
277
275
278
276
def __str__ (self ):
279
277
hostname = os .uname ()[1 ]
0 commit comments