跳转到主要内容

基于Redis的键控节流实现的队列系统。

项目描述

基于Redis的键控节流实现的队列系统。

  • 自由软件:BSD 2-Clause许可证

安装

pip install redis-throttled-queue

您还可以使用以下命令安装开发版本:

pip install https://github.com/ionelmc/python-redis-throttled-queue/archive/main.zip

文档

https://python-redis-throttled-queue.readthedocs.io/

开发

要运行所有测试,请执行

tox

注意,要合并所有tox环境中的覆盖率数据,请运行

Windows

set PYTEST_ADDOPTS=--cov-append
tox

其他

PYTEST_ADDOPTS=--cov-append tox

1 变更日志 =========

1.0.0 (2022-11-15)

  • 从eval脚本切换到redis函数。最小Redis服务器版本变为7.0。

  • 在Lua函数中使用直接索引替换了unpack调用。

  • 这些更改至少提高了推送操作6%。

0.6.0 (2022-07-06)

  • 简化了pop()代码以避免昂贵的扫描操作。现在'...:names键是一个有序集合,将用作使用键('...:usage:<window>')的模板。

0.5.0 (2022-06-28)

  • AsyncThrottledQueue类中添加了支持,该类与常规的ThrottledQueue略有不同

    • 移除了__len__,而是提供了一个可等待的size()方法。

    • __init__ 不再验证版本了,而是可以 await validate_version()

    • push()pull()cleanup() 都是可 await 的。

  • ThrottledQueue 添加了 validate_version 参数(默认:True)。

0.4.4 (2022-05-09)

  • 修复了某些队列为空时缺失的使用密钥过期问题。

0.4.3 (2022-04-09)

  • 修复了重复值推送时的错误计数。目前,当推送两个相同的值时,将使用最高优先级。

0.4.2 (2022-04-02)

  • 重构了 pop 脚本中的一些重复代码。

0.4.1 (2022-03-31)

  • 修复了在数据库完全为空时 cleanup() 中的错误。

0.4.0 (2022-03-31)

  • 添加了 last_activityidle_seconds 属性。

  • 添加了 cleanup() 方法。

0.3.1 (2022-03-31)

  • 重命名了属性(应该可以安全地修改)

    • _limit 变为 limit

    • _resolution 变为 resolution

0.3.0 (2022-03-31)

  • 允许使用任何窗口值(推荐使用 str/bytes/int)使用 pop(window)

0.2.0 (2022-03-31)

  • 修复了 __len__(之前返回一个字符串)。

0.1.0 (2022-03-30)

  • 首次发布于 PyPI。

项目详情


下载文件

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

源代码分发

redis-throttled-queue-1.0.0.tar.gz (20.8 kB 查看哈希)

上传时间 源代码

构建分发

redis_throttled_queue-1.0.0-py3-none-any.whl (6.9 kB 查看哈希)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面