88import datetime
99import logging
1010
11- from pyres import ResQ
11+ from pyres import ResQ , Stat
1212from pyres .exceptions import NoQueueError
1313from pyres .utils import OrderedDict
1414from pyres .job import Job
@@ -32,9 +32,6 @@ def __init__(self, queues, server, password):
3232 self .server = server
3333 self .password = password
3434
35- #Worker.__init__(self, queues=queues, server="localhost:6379", password=None)
36- #
37-
3835 def prune_dead_workers (self ):
3936 pass
4037
@@ -47,7 +44,8 @@ def register_signal_handlers(self):
4744 signal .signal (signal .SIGQUIT , self .schedule_shutdown )
4845
4946 def register_minion (self ):
50- pass
47+ self .resq .redis .sadd ('resque:minions' ,str (self ))
48+ self .started = datetime .datetime .now ()
5149
5250 def startup (self ):
5351 self .register_signal_handlers ()
@@ -95,15 +93,20 @@ def working_on(self, job):
9593 #self.logger.debug(self.resq.redis["resque:minion:%s" % str(self)])
9694
9795 def failed (self ):
98- pass
96+ Stat ("failed" , self .resq ).incr ()
97+
98+ def processed (self ):
99+ total_processed = Stat ("processed" , self .resq )
100+ total_processed .incr ()
99101
100102 def done_working (self ):
101103 self .logger .info ('done working' )
102- # self.processed()
104+ self .processed ()
103105 self .resq .redis .delete ("resque:minion:%s" % str (self ))
104106
105- def unregister_worker (self ):
106- pass
107+ def unregister_minion (self ):
108+ self .resq .redis .srem ('resque:minions' ,str (self ))
109+ self .started = None
107110
108111 def work (self , interval = 5 ):
109112
@@ -117,7 +120,7 @@ def work(self, interval=5):
117120 self .process (job )
118121 else :
119122 time .sleep (interval )
120- self .unregister_worker ()
123+ self .unregister_minion ()
121124
122125 def run (self ):
123126
0 commit comments