Re: LISTEN/NOTIFY and python
От | John D. Burger |
---|---|
Тема | Re: LISTEN/NOTIFY and python |
Дата | |
Msg-id | 39DE6D28-6DDA-460C-B2B7-D76C04B59EEB@mitre.org обсуждение исходный текст |
Ответ на | Re: LISTEN/NOTIFY and python (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: LISTEN/NOTIFY and python
|
Список | pgsql-general |
Tom Lane wrote: > The standard approach when using libpq directly is to get the file > descriptor number of the backend connection with PQsocket(), then > include that in the set of FDs that the client app's idle loop > select()s or poll()s on. And Tino Wildenhain, in off-list mail, described getting the socket- fd from the PyGreSQL connection object and doing something analogous. It turns out that Python's listen() takes ints =or= objects with a fileno() method, whence it gets the int, and PyGreSQL's connection objects qualify. So I can do this: import pg, select con = pg.connect(...) con.query("listen foo") while True: select.select([con], [], []) # Wait for it ... print con.getnotify() I wish I could do this with the more "standard" pgdb module, but, then again, LISTEN/NOTIFY aren't standard. Thanks, Tino and Tom, for the pointers toward this solution. - John D. Burger MITRE
В списке pgsql-general по дате отправления: