| author | Radek Brich <radek.brich@devl.cz> |
| Wed, 26 Sep 2012 16:43:53 +0200 | |
| changeset 45 | 6d8e4ee4bdd2 |
| parent 36 | e67101c22e83 |
| child 93 | b72591087495 |
| permissions | -rwxr-xr-x |
|
36
e67101c22e83
pgmanager: Add create_conn_listen() which should be used with wait_for_notify. Update wait_for_notify() to not use put_conn(). Add name to ConnectionInfo. Log queries before they are called. Log exceptions. Add notifyexample.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
1 |
#!/usr/bin/env python3.2 |
|
e67101c22e83
pgmanager: Add create_conn_listen() which should be used with wait_for_notify. Update wait_for_notify() to not use put_conn(). Add name to ConnectionInfo. Log queries before they are called. Log exceptions. Add notifyexample.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
2 |
# |
|
e67101c22e83
pgmanager: Add create_conn_listen() which should be used with wait_for_notify. Update wait_for_notify() to not use put_conn(). Add name to ConnectionInfo. Log queries before they are called. Log exceptions. Add notifyexample.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
3 |
# Call "NOTIFY notifyexample" on target DB to wake up this program. |
|
e67101c22e83
pgmanager: Add create_conn_listen() which should be used with wait_for_notify. Update wait_for_notify() to not use put_conn(). Add name to ConnectionInfo. Log queries before they are called. Log exceptions. Add notifyexample.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
4 |
# |
|
e67101c22e83
pgmanager: Add create_conn_listen() which should be used with wait_for_notify. Update wait_for_notify() to not use put_conn(). Add name to ConnectionInfo. Log queries before they are called. Log exceptions. Add notifyexample.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
5 |
|
|
e67101c22e83
pgmanager: Add create_conn_listen() which should be used with wait_for_notify. Update wait_for_notify() to not use put_conn(). Add name to ConnectionInfo. Log queries before they are called. Log exceptions. Add notifyexample.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
6 |
from pgtoolkit import toolbase, pgmanager |
|
e67101c22e83
pgmanager: Add create_conn_listen() which should be used with wait_for_notify. Update wait_for_notify() to not use put_conn(). Add name to ConnectionInfo. Log queries before they are called. Log exceptions. Add notifyexample.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
7 |
|
|
e67101c22e83
pgmanager: Add create_conn_listen() which should be used with wait_for_notify. Update wait_for_notify() to not use put_conn(). Add name to ConnectionInfo. Log queries before they are called. Log exceptions. Add notifyexample.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
8 |
|
|
e67101c22e83
pgmanager: Add create_conn_listen() which should be used with wait_for_notify. Update wait_for_notify() to not use put_conn(). Add name to ConnectionInfo. Log queries before they are called. Log exceptions. Add notifyexample.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
9 |
class NotifyExample(toolbase.SimpleTool): |
|
e67101c22e83
pgmanager: Add create_conn_listen() which should be used with wait_for_notify. Update wait_for_notify() to not use put_conn(). Add name to ConnectionInfo. Log queries before they are called. Log exceptions. Add notifyexample.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
10 |
def __init__(self): |
|
e67101c22e83
pgmanager: Add create_conn_listen() which should be used with wait_for_notify. Update wait_for_notify() to not use put_conn(). Add name to ConnectionInfo. Log queries before they are called. Log exceptions. Add notifyexample.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
11 |
toolbase.SimpleTool.__init__(self, name='notifyexample', desc='Sample program for listen/notify.') |
|
e67101c22e83
pgmanager: Add create_conn_listen() which should be used with wait_for_notify. Update wait_for_notify() to not use put_conn(). Add name to ConnectionInfo. Log queries before they are called. Log exceptions. Add notifyexample.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
12 |
self.init() |
|
e67101c22e83
pgmanager: Add create_conn_listen() which should be used with wait_for_notify. Update wait_for_notify() to not use put_conn(). Add name to ConnectionInfo. Log queries before they are called. Log exceptions. Add notifyexample.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
13 |
|
|
e67101c22e83
pgmanager: Add create_conn_listen() which should be used with wait_for_notify. Update wait_for_notify() to not use put_conn(). Add name to ConnectionInfo. Log queries before they are called. Log exceptions. Add notifyexample.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
14 |
def main(self): |
|
e67101c22e83
pgmanager: Add create_conn_listen() which should be used with wait_for_notify. Update wait_for_notify() to not use put_conn(). Add name to ConnectionInfo. Log queries before they are called. Log exceptions. Add notifyexample.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
15 |
# create another connection for notifies, copy parameters from connection 'target' |
|
e67101c22e83
pgmanager: Add create_conn_listen() which should be used with wait_for_notify. Update wait_for_notify() to not use put_conn(). Add name to ConnectionInfo. Log queries before they are called. Log exceptions. Add notifyexample.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
16 |
self.pgm.create_conn_listen('target_listen', channel='notifyexample', copy_dsn='target')
|
|
e67101c22e83
pgmanager: Add create_conn_listen() which should be used with wait_for_notify. Update wait_for_notify() to not use put_conn(). Add name to ConnectionInfo. Log queries before they are called. Log exceptions. Add notifyexample.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
17 |
while True: |
|
e67101c22e83
pgmanager: Add create_conn_listen() which should be used with wait_for_notify. Update wait_for_notify() to not use put_conn(). Add name to ConnectionInfo. Log queries before they are called. Log exceptions. Add notifyexample.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
18 |
ev = self.pgm.wait_for_notify('target_listen', timeout=None)
|
|
e67101c22e83
pgmanager: Add create_conn_listen() which should be used with wait_for_notify. Update wait_for_notify() to not use put_conn(). Add name to ConnectionInfo. Log queries before they are called. Log exceptions. Add notifyexample.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
19 |
if ev: |
|
e67101c22e83
pgmanager: Add create_conn_listen() which should be used with wait_for_notify. Update wait_for_notify() to not use put_conn(). Add name to ConnectionInfo. Log queries before they are called. Log exceptions. Add notifyexample.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
20 |
print(ev) |
|
e67101c22e83
pgmanager: Add create_conn_listen() which should be used with wait_for_notify. Update wait_for_notify() to not use put_conn(). Add name to ConnectionInfo. Log queries before they are called. Log exceptions. Add notifyexample.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
21 |
|
|
e67101c22e83
pgmanager: Add create_conn_listen() which should be used with wait_for_notify. Update wait_for_notify() to not use put_conn(). Add name to ConnectionInfo. Log queries before they are called. Log exceptions. Add notifyexample.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
22 |
|
|
e67101c22e83
pgmanager: Add create_conn_listen() which should be used with wait_for_notify. Update wait_for_notify() to not use put_conn(). Add name to ConnectionInfo. Log queries before they are called. Log exceptions. Add notifyexample.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
23 |
tool = NotifyExample() |
|
e67101c22e83
pgmanager: Add create_conn_listen() which should be used with wait_for_notify. Update wait_for_notify() to not use put_conn(). Add name to ConnectionInfo. Log queries before they are called. Log exceptions. Add notifyexample.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
24 |
tool.main() |
|
e67101c22e83
pgmanager: Add create_conn_listen() which should be used with wait_for_notify. Update wait_for_notify() to not use put_conn(). Add name to ConnectionInfo. Log queries before they are called. Log exceptions. Add notifyexample.
Radek Brich <radek.brich@devl.cz>
parents:
diff
changeset
|
25 |