8
8
import datetime
9
9
import logging
10
10
11
- from pyres import ResQ
11
+ from pyres import ResQ , Stat
12
12
from pyres .exceptions import NoQueueError
13
13
from pyres .utils import OrderedDict
14
14
from pyres .job import Job
@@ -32,9 +32,6 @@ def __init__(self, queues, server, password):
32
32
self .server = server
33
33
self .password = password
34
34
35
- #Worker.__init__(self, queues=queues, server="localhost:6379", password=None)
36
- #
37
-
38
35
def prune_dead_workers (self ):
39
36
pass
40
37
@@ -47,7 +44,8 @@ def register_signal_handlers(self):
47
44
signal .signal (signal .SIGQUIT , self .schedule_shutdown )
48
45
49
46
def register_minion (self ):
50
- pass
47
+ self .resq .redis .sadd ('resque:minions' ,str (self ))
48
+ self .started = datetime .datetime .now ()
51
49
52
50
def startup (self ):
53
51
self .register_signal_handlers ()
@@ -95,15 +93,20 @@ def working_on(self, job):
95
93
#self.logger.debug(self.resq.redis["resque:minion:%s" % str(self)])
96
94
97
95
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 ()
99
101
100
102
def done_working (self ):
101
103
self .logger .info ('done working' )
102
- # self.processed()
104
+ self .processed ()
103
105
self .resq .redis .delete ("resque:minion:%s" % str (self ))
104
106
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
107
110
108
111
def work (self , interval = 5 ):
109
112
@@ -117,7 +120,7 @@ def work(self, interval=5):
117
120
self .process (job )
118
121
else :
119
122
time .sleep (interval )
120
- self .unregister_worker ()
123
+ self .unregister_minion ()
121
124
122
125
def run (self ):
123
126
0 commit comments