diff options
| author | Martin Pihlak | 2012-08-16 09:47:10 +0000 |
|---|---|---|
| committer | Martin Pihlak | 2012-08-16 09:47:10 +0000 |
| commit | e1c22bd6d598dcf86a2a930bd19904e330b085b6 (patch) | |
| tree | c32d23315afe3d3c15b24f62dcc212df03e34671 /python/pgq/consumer.py | |
| parent | 37e91db8fb3a1fcd9a7a54934a2e882a5a953d0c (diff) | |
| parent | f8d90af0912db0a2ed29aa5e8fb912be3ab309a6 (diff) | |
Merge branch 'master' of internal-git:/git/dba/skytools-3
Diffstat (limited to 'python/pgq/consumer.py')
| -rw-r--r-- | python/pgq/consumer.py | 11 |
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: |
