6
6
import os , sys
7
7
import time
8
8
import simplejson
9
+
9
10
class Worker (object ):
10
11
def __init__ (self , queues = [], server = "localhost:6379" ):
11
12
self .queues = queues
@@ -25,13 +26,13 @@ def validate_queues(self):
25
26
raise NoQueueError ("Please give each worker at least one queue." )
26
27
27
28
def register_worker (self ):
28
- self .resq .redis .sadd ('workers' ,str (self ))
29
+ self .resq .redis .sadd ('resque: workers' ,str (self ))
29
30
#self.resq._redis.add("worker:#{self}:started", Time.now.to_s)
30
31
#Stat.clear("processed:#{self}")
31
32
#Stat.clear("failed:#{self}")
32
33
33
34
def unregister_worker (self ):
34
- self .resq .redis .srem ('workers' ,str (self ))
35
+ self .resq .redis .srem ('resque: workers' ,str (self ))
35
36
36
37
def startup (self ):
37
38
self .register_signal_handlers ()
@@ -108,11 +109,11 @@ def working_on(self, job):
108
109
'payload' : job ._payload
109
110
}
110
111
data = simplejson .dumps (data )
111
- self .resq .redis ["worker:%s" % str (self )] = data
112
+ self .resq .redis ["resque: worker:%s" % str (self )] = data
112
113
113
114
def done_working (self ):
114
115
self .processed ()
115
- self .resq .redis .delete ("worker:%s" % str (self ))
116
+ self .resq .redis .delete ("resque: worker:%s" % str (self ))
116
117
117
118
def processed (self ):
118
119
total_processed = Stat ("processed" , self .resq )
@@ -127,7 +128,7 @@ def failed(self):
127
128
stat .incr ()
128
129
129
130
def job (self ):
130
- data = self .resq .redis .get ("worker:%s" % self )
131
+ data = self .resq .redis .get ("resque: worker:%s" % self )
131
132
if data :
132
133
return ResQ .decode (data )
133
134
return {}
@@ -151,7 +152,7 @@ def all(cls, host="localhost:6379"):
151
152
resq = ResQ (host )
152
153
elif isinstance (host , ResQ ):
153
154
resq = host
154
- return resq .redis .smembers ('workers' )
155
+ return resq .redis .smembers ('resque: workers' )
155
156
156
157
@classmethod
157
158
def working (cls , host ):
@@ -162,7 +163,7 @@ def working(cls, host):
162
163
total = []
163
164
for key in Worker .all (host ):
164
165
if Worker .exists (key , resq ):
165
- total .append ('worker:%s' % key )
166
+ total .append ('resque: worker:%s' % key )
166
167
names = []
167
168
for key in total :
168
169
value = resq .redis .get (key )
@@ -183,7 +184,7 @@ def find(cls, worker_id, resq):
183
184
184
185
@classmethod
185
186
def exists (cls , worker_id , resq ):
186
- return resq .redis .sismember ('workers' , worker_id )
187
+ return resq .redis .sismember ('resque: workers' , worker_id )
187
188
188
189
189
190
if __name__ == "__main__" :
0 commit comments