notifyexample.py
author Radek Brich <radek.brich@devl.cz>
Sat, 29 Sep 2012 13:53:54 +0200
changeset 49 08e4dfe1b0cb
parent 36 e67101c22e83
child 93 b72591087495
permissions -rwxr-xr-x
Add test for MyManager (enable only when MySQLdb is available). Configure tests using pgtoolkit.conf (same as used by other executables).

#!/usr/bin/env python3.2
#
# Call "NOTIFY notifyexample" on target DB to wake up this program.
#

from pgtoolkit import toolbase, pgmanager


class NotifyExample(toolbase.SimpleTool):
    def __init__(self):
        toolbase.SimpleTool.__init__(self, name='notifyexample', desc='Sample program for listen/notify.')
        self.init()

    def main(self):
        # create another connection for notifies, copy parameters from connection 'target'
        self.pgm.create_conn_listen('target_listen', channel='notifyexample', copy_dsn='target')
        while True:
            ev = self.pgm.wait_for_notify('target_listen', timeout=None)
            if ev:
                print(ev)


tool = NotifyExample()
tool.main()