Skip to main content

Helps to use PostgreSQL listen/notify with aiopg

Project description

aiopg-listen

This library simplifies usage of listen/notify with aiopg:

  1. Handles lost of a connection
  2. Simplifies processing notifications from multiple channels
  3. Setups a timeout for receiving a notification
  4. Allows to receive all notifications/only last notification depends on ListenPolicy.
import asyncio
import aiopg
import aiopg_listen


async def handle_notifications(notification: aiopg_listen.NotificationOrTimeout) -> None:
    print(f"{notification} has been received")


listener = aiopg_listen.NotificationListener(aiopg_listen.connect_func())
listener_task = asyncio.create_task(
    listener.run(
        {"channel": handle_notifications},
        policy=aiopg_listen.ListenPolicy.LAST,
        notification_timeout=1
    )
)

async with aiopg.connect() as connection, connection.cursor() as cursor:
    for i in range(42):
        await cursor.execute(f"NOTIFY simple, '{i}'")

v0.0.6 (2022-11-02)

v0.0.5 (2021-11-02)

v0.0.4 (2021-09-08)

  • Reexport explicitly #18

v0.0.3 (2021-08-10)

  • Allow suppressing timeout by aiopg_listen.NO_TIMEOUT #9
  • Fix typing for python 3.8 #11

v0.0.2 (2021-07-25)

  • Add aiopg_listen.connect_func to simplify initialization #5
  • Rename consumer to listener #6
  • Do not crash if handler fails #7

v0.0.1 (2021-07-25)

  • A first version

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiopg-listen-0.0.6.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

aiopg_listen-0.0.6-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file aiopg-listen-0.0.6.tar.gz.

File metadata

  • Download URL: aiopg-listen-0.0.6.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.0

File hashes

Hashes for aiopg-listen-0.0.6.tar.gz
Algorithm Hash digest
SHA256 1c8f7783b777a84fdcd520d37468f91d039c2d82b1ca5946147798386f858ca1
MD5 7d309d50294b9de7efb27a0b269c66bf
BLAKE2b-256 823cb340fa5ca937bb3b19f9600e98267928f17dc025ef3479ef8269d120a4b0

See more details on using hashes here.

File details

Details for the file aiopg_listen-0.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for aiopg_listen-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 87d8befb647303c05780d81b6efca037de62947b567af3b49aa98d5ab70ab25b
MD5 5f29829446a20989a313e5ab1644c027
BLAKE2b-256 cab5f47fdfa9098d96a273ed23c0b485b8902df38ff720bc399bb1bb46e01d32

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page