notifyexample.py
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
Fix.

#!/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()