summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetr Jelinek2013-01-24 13:04:31 +0000
committerPetr Jelinek2013-01-24 13:04:31 +0000
commitc5155488cac0c73774aa4e2788f34f37e28818c2 (patch)
tree196433412e6bfcd7c4c79429ada2d249f510ed3b
parent37d41a17cd2227fd73d2e8aa11ecb70b06948d32 (diff)
Initialize Event properly in BaseConsumer
-rw-r--r--python/pgq/baseconsumer.py7
-rw-r--r--python/pgq/consumer.py5
2 files changed, 7 insertions, 5 deletions
diff --git a/python/pgq/baseconsumer.py b/python/pgq/baseconsumer.py
index 7648a160..9159106e 100644
--- a/python/pgq/baseconsumer.py
+++ b/python/pgq/baseconsumer.py
@@ -24,8 +24,6 @@ class BaseBatchWalker(object):
- len() after that
"""
- _event_class = Event
-
def __init__(self, curs, batch_id, queue_name, fetch_size = 300, consumer_filter = None):
self.queue_name = queue_name
self.fetch_size = fetch_size
@@ -36,6 +34,9 @@ class BaseBatchWalker(object):
self.fetch_status = 0 # 0-not started, 1-in-progress, 2-done
self.consumer_filter = consumer_filter
+ def _make_event(self, queue_name, row):
+ return Event(queue_name, row)
+
def __iter__(self):
if self.fetch_status:
raise Exception("BatchWalker: double fetch? (%d)" % self.fetch_status)
@@ -53,7 +54,7 @@ class BaseBatchWalker(object):
self.length += len(rows)
for row in rows:
- ev = self._event_class(self, self.queue_name, row)
+ ev = self._make_event(self.queue_name, row)
yield ev
# if less rows than requested, it was final block
diff --git a/python/pgq/consumer.py b/python/pgq/consumer.py
index 19fbf5ef..3d78105f 100644
--- a/python/pgq/consumer.py
+++ b/python/pgq/consumer.py
@@ -31,12 +31,13 @@ class RetriableBatchWalker(BaseBatchWalker):
"""BatchWalker that returns RetriableEvents
"""
- _event_class = RetriableWalkerEvent
-
def __init__(self, curs, batch_id, queue_name, fetch_size = 300, consumer_filter = None):
super(RetriableBatchWalker, self).__init__(self, curs, batch_id, queue_name, fetch_size, consumer_filter)
self.status_map = {}
+ def _make_event(self, queue_name, row):
+ return RetriableWalkerEvent(self, queue_name, row)
+
def tag_event_done(self, event):
if event.id in self.status_map:
del self.status_map[event.id]