通过WSGI中间件进行请求事务
项目描述
repoze.tm2 (事务管理器)
使用ZODB事务管理器包装对其管道子代调用的中间件。这是对repoze.tm包的分支,它只依赖于transaction包,而不是ZODB的全部(对于不依赖ZODB的用户)。
安装
使用setuptools安装,例如(在虚拟环境中)
$ easy_install repoze.tm2
或使用pip
$ pip install repoze.tm2
使用方法
有关使用各种组件的详细信息,请参阅docs/index.rst中的文档。该文档的渲染版本也在线上可用
报告错误
请向以下地址报告此包的错误
获取源代码
通过访问以下链接下载软件的开发版或标记版本
变更日志
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)
提供“commit_veto”钩子点(由 Alberto Valverde 贡献)。
通过 setup.cfg 将 easy_install 指向 http://dist.repoze.org/tm2/dev/simple。
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 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 800f072d39d892f69cdfd29e88499320993450ec4cdcd545067a628d69c36886 |
|
MD5 | 99cd16eba17e9eafd8eab2da3dd3f4a4 |
|
BLAKE2b-256 | acf6397d1c261f0486c22253fec65ef0e15186fd90656e310e0e3261851a34f7 |
repoze.tm2-2.2.0-py3-none-any.whl 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 56379ab00cb1812f6c2e21613cb8a03a18610f28671330c876e3331dacbe1771 |
|
MD5 | b7f5638093050b74a47c5e10585424b2 |
|
BLAKE2b-256 | 2459d51e844f1dd51a8c1172429998ea5bbf53d5b57fd9c84f78783b228f3c0b |