跳转到主要内容

通过WSGI中间件进行请求事务

项目描述

repoze.tm2 (事务管理器)

https://travis-ci.org/repoze/repoze.tm2.png?branch=master Documentation Status https://img.shields.io/pypi/v/repoze.tm2.svg https://img.shields.io/pypi/pyversions/repoze.tm2.svg

使用ZODB事务管理器包装对其管道子代调用的中间件。这是对repoze.tm包的分支,它只依赖于transaction包,而不是ZODB的全部(对于不依赖ZODB的用户)。

安装

使用setuptools安装,例如(在虚拟环境中)

$ easy_install repoze.tm2

或使用pip

$ pip install repoze.tm2

使用方法

有关使用各种组件的详细信息,请参阅docs/index.rst中的文档。该文档的渲染版本也在线上可用

报告错误

请向以下地址报告此包的错误

https://github.com/repoze/repoze.tm2/issues

获取源代码

通过访问以下链接下载软件的开发版或标记版本

https://github.com/repoze/repoze.tm2

变更日志

2.2.0 (2023-01-16)

  • 添加对 Python 3.7, 3.8, 3.9, 3.10 和 3.11 的支持。

  • 停止支持 Python 2.7, 3.4, 3.5 和 3.6。

  • 添加 GitHub Actions 工作流程,以运行单元测试/覆盖率测试 PR。

2.1 (2016-06-03)

  • 添加对 Python 3.4, 3.5 和 PyPy3 的支持。

  • 停止支持 Python 2.6 和 3.2。

  • 添加在 Travis 下的测试支持。

2.0 (2013-06-26)

  • 在中间件中终止事务时,避免吞没原始异常。请参阅 PR #3。

2.0b1 (2013-04-05)

  • 中间件现在是一个生成器,以适当处理自身不是列表的应用程序迭代器。

  • 将弃用的 failIf/failUnless 的使用转换为 assertFalse/assertTrue。

  • 添加使用 Tox 在支持的 Python 下进行测试的支持。

  • 明确支持 Python 3.2 和 3.3。

  • 停止支持 Python 2.4 和 2.5。

1.0 (2012-03-24)

  • 在 Python 2.4 / 2.5 下运行 OOTB(在 2.4 / 2.5 下运行时将 'transaction' 依赖项固定到支持的版本)。

1.0b2 (2011-07-18)

  • 现在,默认的 commit veto 钩子尊重新的头部 X-Tm。如果此头部存在于头部列表中,其值必须是字符串。如果其值为 commit,则无论状态代码或 X-Tm-Abort 的值如何,事务都将提交。如果 X-Tm 头部的值为 abort(或任何其他除 commit 之外的字符串值),则无论状态代码或 X-Tm-Abort 的值如何,事务都将终止。

  • 现在弃用 X-Tm-Abort 头部的使用。相反,使用 X-Tm 头部,并使用值为 abort

  • 添加 API 文档部分。

1.0b1 (2011-01-19)

  • 添加 repoze.tm.default_commit_veto 提交弃权钩子。此提交弃权钩子对于 4XX 和 5XX 响应代码将终止,或者如果头部列表中存在名为 X-Tm-Abort 的头部,则允许提交。

  • 记录了提交弃权钩子。

1.0a5 (2009-09-07)

  • 如果事务注定要失败或提交弃权钩子终止,则终止后不要提交。

  • 测试中不要使用“真实”的事务模块。

  • 100% 测试覆盖率。

1.0a4 (2009-01-06)

  • 使 CHANGES RESTify,将 README.txt 中的文档移动到 Sphinx。

  • 删除 setup.cfg(所有依赖项都可通过 PyPI 获取)。

  • repoze.tm(0.9)的同步点。

1.0a3 (2008-08-03)

允许在 Paste 配置中指定 commit_veto 钩子,类似于以下内容:

[filter:tm]
use = repoze.tm:make_tm
commit_veto = some.package:myfunction

myfunction 应该接受三个参数:environ,status,headers,如果事务应该被终止则返回 True,如果应该被提交则返回 False。

首次 PyPI 发布。

1.0a2 (2008-07-15)

1.0a1 (2008-01-09)

  • 分叉点:我们创建了 repoze.tm2,它是 repoze.tm,其依赖项仅限于 'transaction' 包而不是整个 ZODB。

  • 在 README.txt 中提供非 Zope 用法的更详细的文档。

0.8 (2007-10-11)

  • 放宽对 ZODB 3.7.2 的要求,因为我们可能需要使用其他版本的包。请注意,依赖于事务具有“doom”语义的测试无法与 3.7.2 一起使用。

0.7 (2007-09-25)

  • 依赖 PyPI 版本的 ZODB 3.7.2。如果需要,通过执行 bin/easy_install -U 'ZODB3 >= 3.7.1, < 3.8.0a' 来升级到此版本。

0.6 (2007-09-21)

  • 现在,after_end.register 和 after_end.unregister 必须传递一个事务对象,而不是 WSGI 环境对象,以避免在事务管理中参与子进程使用的 WSGI 环境与 repoze.tm 包使用的 WSGI 环境不同的情况。

  • repoze.tm 现在在 WSGI 环境中插入一个键(repoze.tm.active),如果它在 WSGI 管道中处于活动状态。可以通过调用 API 函数 repoze.tm:isActive,传入单个参数 WSGI 环境对象,来检查中间件是否处于活动状态。

0.5 (2007-09-18)

  • 依赖 rerolled ZODB 3.7.1 而不是 zopelib。

  • 添加许可和版权信息,更改 trove 类别。

0.4 (2007-09-17)

  • 依赖 zopelib 而不是 ZODB 3.8.0b3 分发,因为 ZODB 分发会引入各种包(尤其是 zope.interface 和 ZEO),这些包与标准 Zope 2.10.4 应用程序和旧沙箱不兼容。我们需要重新审视这一点。

0.3 (2007-09-14)

  • 为不支持 'transaction.isDoomed' API 的旧事务包版本提供有限的兼容性。

0.2 (2007-09-13)

  • 提供 after_end API,用于在事务结束时注册回调函数。

0.1 (2007-09-10)

  • 初始发布

项目详情


下载文件

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

源分发

repoze.tm2-2.2.0.tar.gz (27.6 kB 查看散列)

上传时间

构建分发

repoze.tm2-2.2.0-py3-none-any.whl (9.4 kB 查看散列)

上传时间 Python 3

支持者

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