notifyexample.py
author Radek Brich <radek.brich@devl.cz>
Fri, 25 Jul 2014 15:15:16 +0200
changeset 106 db4c582a2abd
parent 104 d8ff52a0390f
permissions -rwxr-xr-x
Fix autocommit mode in oursql.

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

from pydbkit 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()