Skip to content

Commit cd6d9ae

Browse files
mjrussoMatt George
authored andcommitted
logging module used (instead of print) throughout
1 parent e3eff6e commit cd6d9ae

File tree

3 files changed

+32
-24
lines changed

3 files changed

+32
-24
lines changed

pyres/__init__.py

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
from redis import Redis
44
import pyres.json_parser as json
55

6+
import logging
7+
68
def my_import(name):
79
"""Helper function for walking import calls when searching for classes by string names."""
810
mod = __import__(name)
@@ -73,10 +75,7 @@ class ResQ(object):
7375
attribute on it.
7476
7577
"""
76-
def __init__(self, server="localhost:6379", password=None,
77-
timeout=None, retry_connection=True):
78-
self.timeout = timeout
79-
#self.retry_connection = retry_connection
78+
def __init__(self, server="localhost:6379", password=None):
8079
self.redis = server
8180
if password:
8281
self.redis.auth(password)
@@ -133,14 +132,18 @@ def enqueue(self, klass, *args):
133132
134133
"""
135134
queue = getattr(klass,'queue', None)
136-
#print cls._res
137135
if queue:
138136
class_name = '%s.%s' % (klass.__module__, klass.__name__)
139-
#print class_name
140137
self.push(queue, {'class':class_name,'args':args})
141-
#Job.create(queue, klass,*args)
138+
logging.info("enqueued '%s' job" % class_name)
139+
logging.debug("job arguments: %s" % args)
140+
else:
141+
logging.warning("unable to enqueue job with class %s" % str(klass))
142+
142143
def enqueue_from_string(self, klass_as_string, queue, *args):
143144
self.push(queue, {'class':klass_as_string,'args':args})
145+
logging.info("enqueued '%s' job" % class_name)
146+
logging.debug("job arguments: %s" % args)
144147

145148
def queues(self):
146149
return self.redis.smembers("resque:queues") or []
@@ -207,13 +210,11 @@ def decode(cls, item):
207210
@classmethod
208211
def _enqueue(cls, klass, *args):
209212
queue = getattr(klass,'queue', None)
210-
#print cls._res
211213
_self = cls()
212214
if queue:
213215
class_name = '%s.%s' % (klass.__module__, klass.__name__)
214-
#print class_name
215216
_self.push(queue, {'class':class_name,'args':args})
216-
#Job.create(queue, klass,*args)
217+
217218

218219
class Stat(object):
219220
"""A Stat class which shows the current status of the queue.

pyres/job.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ def __init__(self, queue, payload, resq, worker=None):
2222
self.resq = resq
2323
self._worker = worker
2424

25+
def __str__(self):
26+
return "(Job{%s} | %s | %s)" % (
27+
self._queue, self._payload['class'], repr(self._payload['args']))
28+
2529
def perform(self):
2630
"""This method converts payload into args and calls the ``perform`` method
2731
on the payload class.

pyres/worker.py

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from pyres.exceptions import NoQueueError
22
from pyres.job import Job
33
from pyres import ResQ, Stat
4+
import logging
45
import signal
56
import datetime
67
import os, sys
@@ -80,7 +81,7 @@ def schedule_shutdown(self, signum, frame):
8081

8182
def kill_child(self, signum, frame):
8283
if self.child:
83-
print "Killing child at %s" % self.child
84+
logging.info("Killing child at %s" % self.child)
8485
os.kill(self.child, signal.SIGKILL)
8586

8687
def __str__(self):
@@ -105,24 +106,25 @@ def work(self, interval=5):
105106
self.startup()
106107
while True:
107108
if self._shutdown:
108-
print 'shutdown scheduled'
109+
logging.info('shutdown scheduled')
109110
break
110111
job = self.reserve()
111112
if job:
112-
print "got: %s" % job
113+
logging.info('picked up job')
114+
logging.debug('job details: %s' % job)
113115
self.child = os.fork()
114116
if self.child:
115-
print 'Forked %s at %s' % (self.child, datetime.datetime.now())
117+
logging.info('Forked %s at %s' % (self.child, datetime.datetime.now()))
116118
try:
117119
os.waitpid(self.child, 0)
118120
except OSError, ose:
119121
import errno
120122
if ose.errno != errno.EINTR:
121123
raise ose
122124
#os.wait()
123-
print 'Done waiting'
125+
logging.debug('done waiting')
124126
else:
125-
print 'Processing %s since %s' % (job._queue, datetime.datetime.now())
127+
logging.info('Processing %s since %s' % (job._queue, datetime.datetime.now()))
126128
self.process(job)
127129
os._exit(0)
128130
self.child = None
@@ -140,36 +142,37 @@ def process(self, job=None):
140142
job.perform()
141143
except Exception, e:
142144
exceptionType, exceptionValue, exceptionTraceback = sys.exc_info()
143-
print "%s failed: %s" % (job, e)
145+
logging.error("%s failed: %s" % (job, e))
144146
job.fail(exceptionTraceback)
145147
self.failed()
146148
else:
147-
print "done: %s" % job
149+
logging.info('completed job')
150+
logging.debug('job details: %s' % job)
148151
finally:
149152
self.done_working()
150153

151154
def reserve(self):
152155
for q in self.queues:
153-
print "Checking %s" % q
156+
logging.debug('checking queue %s' % q)
154157
job = Job.reserve(q, self.resq, self.__str__())
155158
if job:
156-
print "Found job on %s" % q
159+
logging.info('Found job on %s' % q)
157160
return job
158161

159162
def working_on(self, job):
160-
print 'marking as working on'
163+
logging.debug('marking as working on')
161164
data = {
162165
'queue': job._queue,
163166
'run_at': str(datetime.datetime.now()),
164167
'payload': job._payload
165168
}
166169
data = json.dumps(data)
167170
self.resq.redis["resque:worker:%s" % str(self)] = data
168-
print "worker:%s" % str(self)
169-
print self.resq.redis["resque:worker:%s" % str(self)]
171+
logging.debug("worker:%s" % str(self))
172+
logging.debug(self.resq.redis["resque:worker:%s" % str(self)])
170173

171174
def done_working(self):
172-
print 'done working'
175+
logging.info('done working')
173176
self.processed()
174177
self.resq.redis.delete("resque:worker:%s" % str(self))
175178

0 commit comments

Comments
 (0)