跳转到主要内容

帮助使用aiopg的PostgreSQL listen/notify

项目描述

aiopg-listen

这个库简化了与aiopg一起使用listen/notify的方法

  1. 处理连接丢失
  2. 简化处理来自多个通道的通知
  3. 为接收通知设置超时
  4. 根据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.7 (2023-03-09)

v0.0.6 (2022-11-02)

v0.0.5 (2021-11-02)

v0.0.4 (2021-09-08)

  • 显式重导出#18

v0.0.3 (2021-08-10)

  • 允许通过aiopg_listen.NO_TIMEOUT抑制超时 #9
  • 修复python 3.8的typing #11

v0.0.2 (2021-07-25)

  • 添加aiopg_listen.connect_func以简化初始化 #5
  • 将consumer重命名为listener #6
  • 如果处理程序失败则不会崩溃 #7

v0.0.1 (2021-07-25)

  • 第一个版本

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪一个,请了解有关安装包的更多信息。

源分发

aiopg-listen-0.0.7.tar.gz (5.3 kB 查看哈希值)

上传时间

构建分发

aiopg_listen-0.0.7-py3-none-any.whl (5.5 kB 查看哈希值)

上传时间 Python 3

支持