| author | Radek Brich <radek.brich@devl.cz> | 
| Wed, 09 Jul 2014 18:03:54 +0200 | |
| changeset 104 | d8ff52a0390f | 
| parent 93 | b72591087495 | 
| permissions | -rwxr-xr-x | 
| 
93
 
b72591087495
Change python3.2 to python3 in scripts.
 
Radek Brich <brich.radek@ifortuna.cz> 
parents: 
36 
diff
changeset
 | 
1  | 
#!/usr/bin/env python3  | 
| 
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
 | 
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  | 
|
| 104 | 6  | 
from pydbkit import toolbase, pgmanager  | 
| 
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
 | 
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  |