@@ -164,14 +164,14 @@ def setup_resq(self):
164164 self .resq = self .server
165165 else :
166166 raise Exception ("Bad server argument" )
167+
167168 def validate_queues (self ):
168169 "Checks if a worker is given atleast one queue to work on."
169170 if not self .queues :
170171 raise NoQueueError ("Please give each worker at least one queue." )
171172
172173 def startup (self ):
173174 self .register_signal_handlers ()
174- self .register_worker ()
175175
176176 def register_signal_handlers (self ):
177177 signal .signal (signal .SIGTERM , self .schedule_shutdown )
@@ -194,6 +194,9 @@ def add_child(self, signum, frame):
194194 self .add_minion ()
195195
196196 def register_khan (self ):
197+ if not hasattr (self , 'resq' ):
198+ self .setup_resq ()
199+
197200 self .resq .redis .sadd ('resque:khans' ,str (self ))
198201 self .started = datetime .datetime .now ()
199202
@@ -245,13 +248,7 @@ def _remove_minion(self, pid=None):
245248 m .terminate ()
246249 return m
247250
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 ):
255252 logging .debug ('unregistering khan' )
256253 self .resq .redis .srem ('resque:khans' ,str (self ))
257254 self .started = None
@@ -264,6 +261,7 @@ def work(self, interval=2):
264261 self ._workers [m .pid ] = m
265262 logging .info ('minion added at %s' % m .pid )
266263 self .setup_resq ()
264+ self .register_khan ()
267265 while True :
268266 self ._check_commands ()
269267 if self ._shutdown :
@@ -273,7 +271,7 @@ def work(self, interval=2):
273271 #get job
274272 else :
275273 time .sleep (interval )
276- self .unregister_worker ()
274+ self .unregister_khan ()
277275
278276 def __str__ (self ):
279277 hostname = os .uname ()[1 ]
0 commit comments