summaryrefslogtreecommitdiff
path: root/python/pgq/consumer.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/pgq/consumer.py')
-rw-r--r--python/pgq/consumer.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/python/pgq/consumer.py b/python/pgq/consumer.py
index 76470b72..77c018c7 100644
--- a/python/pgq/consumer.py
+++ b/python/pgq/consumer.py
@@ -111,6 +111,9 @@ class Consumer(skytools.DBScript):
# override consumer name
#consumer_name = %(job_name)s
+ # filter out only events for specific tables
+ #table_filter = table1, table2
+
# whether to use cursor to fetch events (0 disables)
#pgq_lazy_fetch = 300
@@ -198,6 +201,14 @@ class Consumer(skytools.DBScript):
self.pgq_min_interval = self.cf.get("pgq_batch_collect_interval", '') or None
self.pgq_min_lag = self.cf.get("pgq_keep_lag", '') or None
+ # filter out specific tables only
+ tfilt = []
+ for t in self.cf.getlist('table_filter', ''):
+ tfilt.append(skytools.quote_literal(skytools.fq_name(t)))
+ if len(tfilt) > 0:
+ expr = "ev_extra1 in (%s)" % ','.join(tfilt)
+ self.consumer_filter = expr
+
def startup(self):
"""Handle commands here. __init__ does not have error logging."""
if self.options.register: