66import os , sys
77import time
88import simplejson
9+
910class Worker (object ):
1011 def __init__ (self , queues = [], server = "localhost:6379" ):
1112 self .queues = queues
@@ -26,7 +27,7 @@ def validate_queues(self):
2627 raise NoQueueError ("Please give each worker at least one queue." )
2728
2829 def register_worker (self ):
29- self .resq .redis .sadd ('workers' ,str (self ))
30+ self .resq .redis .sadd ('resque: workers' ,str (self ))
3031 #self.resq._redis.add("worker:#{self}:started", Time.now.to_s)
3132 self .started = datetime .datetime .now ()
3233 #Stat.clear("processed:#{self}")
@@ -47,7 +48,7 @@ def _get_started(self):
4748 started = property (_get_started , _set_started )
4849
4950 def unregister_worker (self ):
50- self .resq .redis .srem ('workers' ,str (self ))
51+ self .resq .redis .srem ('resque: workers' ,str (self ))
5152 self .started = None
5253
5354 def startup (self ):
@@ -141,14 +142,14 @@ def working_on(self, job):
141142 'payload' : job ._payload
142143 }
143144 data = simplejson .dumps (data )
144- self .resq .redis ["worker:%s" % str (self )] = data
145+ self .resq .redis ["resque: worker:%s" % str (self )] = data
145146 print "worker:%s" % str (self )
146147 print self .resq .redis ["worker:%s" % str (self )]
147148
148149 def done_working (self ):
149150 print 'done working'
150151 self .processed ()
151- self .resq .redis .delete ("worker:%s" % str (self ))
152+ self .resq .redis .delete ("resque: worker:%s" % str (self ))
152153
153154 def processed (self ):
154155 total_processed = Stat ("processed" , self .resq )
@@ -167,7 +168,7 @@ def failed(self):
167168 def get_failed (self ):
168169 return Stat ("failed:%s" % self , self .resq ).get ()
169170 def job (self ):
170- data = self .resq .redis .get ("worker:%s" % self )
171+ data = self .resq .redis .get ("resque: worker:%s" % self )
171172 if data :
172173 return ResQ .decode (data )
173174 return {}
@@ -190,7 +191,7 @@ def all(cls, host="localhost:6379"):
190191 resq = ResQ (host )
191192 elif isinstance (host , ResQ ):
192193 resq = host
193- return [Worker .find (w ,resq ) for w in resq .redis .smembers ('workers' )]
194+ return [Worker .find (w ,resq ) for w in resq .redis .smembers ('resque: workers' )]
194195
195196 @classmethod
196197 def working (cls , host ):
@@ -200,7 +201,8 @@ def working(cls, host):
200201 resq = host
201202 total = []
202203 for key in Worker .all (host ):
203- total .append ('worker:%s' % key )
204+ if Worker .exists (key , resq ):
205+ total .append ('resque:worker:%s' % key )
204206 names = []
205207 for key in total :
206208 value = resq .redis .get (key )
@@ -221,7 +223,7 @@ def find(cls, worker_id, resq):
221223
222224 @classmethod
223225 def exists (cls , worker_id , resq ):
224- return resq .redis .sismember ('workers' , worker_id )
226+ return resq .redis .sismember ('resque: workers' , worker_id )
225227
226228
227229if __name__ == "__main__" :
@@ -236,4 +238,4 @@ def exists(cls, worker_id, resq):
236238 queues = options .queue_list .split (',' )
237239 import sys
238240 sys .path .insert (0 ,'/Users/mgeorge/dev/pyres/src' )
239- Worker .run (queues , options .server )
241+ Worker .run (queues , options .server )
0 commit comments