允许金字塔请求加入活动事务的包

pyramid_tm的Python项目详细描述


更改

2.2.1(2018-10-23)

2.2(2017-07-03)

向后不兼容

  • 对于使用 TM.提交否决权。其他人不受影响。

    如果有任何挤压,现在将参考 tm.commit_veit 钩子 异常而不是总是中止。以前,如果出现异常 由异常视图处理时,事务将始终中止。 现在,提交否决权可以检查请求、异常和生成的 响应 以确定是提交还是中止。

    使用金字塔时的新行为。默认的提交否决 如果出现以下任一情况,则可能会提交挤压异常 是真的:

    • 响应包含设置为提交的x-tm头。
    • 响应的状态代码不是以 4 5 开头的。

    在大多数情况下,响应将导致4xx或5xx异常,并且 被中止-此行为保持不变。但是,如果 异常呈现3xx或2xx的响应(例如 金字塔.httpexceptions.httpfound ),则事务将 提交而不是中止。

    请参见 https://github.com/pylons/pyramd_TM/pull/65

2.1(2017-06-07)

  • 在棱锥体上>;=1.7调用 将捕获并使用request.tm.abort和request.tm.commit 查找并执行异常视图以返回错误响应。这个 异常视图将与非活动事务管理器一起执行。 请参见 https://github.com/pylons/pyramd_TM/pull/61

2.0(2017-04-11)

主要功能

向后不兼容

  • tm.attempts 设置已被删除,重试支持已被移动 进入一个名为 金字塔的新包重试。如果需要重试支持,则 有关安装和 启用它。请参见 https://github.com/pylons/pyramd_TM/pull/55
  • 棱锥间被移到了外视图间。 如果您的应用程序中有任何黑客正在打开新事务 在您的异常视图中,您可能希望删除它们 或者在升级时重新评估。 请参见 https://github.com/pylons/pyramd_TM/pull/55
  • 放下金字塔支架<;1.5.

次要功能
  • 支持Python 3.6。

1.1.1(2016-11-21)

1.1.0(2016-11-19)

  • 支持 事务 2.x.
  • 事务的请求路径和用户id现在由 首先解码为utf-8并返回到拉丁语-1。如果用户id 不符合这些限制,然后设置 tm.annotate_user=no 在你的设置中。请参见 https://github.com/pylons/pyramd_TM/pull/50

1.0.2(2016-11-18)

1.0.1(2016-10-24)

  • 当在 吐温。结果是这个中断的子请求以及 pshell pyramid.paster.bootstrap cli脚本,特别是在使用 全局事务管理器,可以在tween之外跟踪。 请参见 https://github.com/pylons/pyramd_TM/pull/48

1.0(2016-09-12)

  • 放弃对Python2.6、3.2和3.3的支持。
  • 添加python 3.5支持。
  • 如果在请求期间使用事务管理器,可能会出现细微的错误 其中, 棱锥体 通过 激活挂钩 禁用。为了对抗这些 尝试访问请求时出现的错误类型。tm 现在将引发 当金字塔不活动时,属性错误。 请参见 https://github.com/pylons/pyramd_TM/pull/46

0.12.1(2015-11-25)

0.12(2015-05-20)

0.11(2015-02-04)

0.10(2015-01-06)

0.9(2014-12-30)

0.8(2014-11-12)

0.7(2012-12-30)

  • 将未经身份验证的用户id和request.path\u info作为事务写入 元数据在提交期间分别通过 t.setuser t.note

0.6(2012-12-26)

  • 不使用令人困惑且充满错误的生成器和上下文管理器"尝试" 事务包中用于重试可重试异常的机制 (例如ZODB冲突错误)。使用一个简单的while循环加上一个计数器 而是命令逻辑。

0.5(2012-06-26)

错误修复

  • 当由于调用 transaction.manager.commit ,异常未正确重新引发。 症状:不可恢复的异常,例如 不受支持:将blob存储在 &不支持lt;somestorage>;。 会被不适当地吞咽。

0.4(2012-03-28)

错误修复

测试
  • 不再通过 tox.ini 在Python2.5下进行测试(因此不再 由Pylons Jenkins服务器在2.5下测试)。包年龄可能仍然有效 低于2.5,但自动测试将不再显示破损 以打破2.5支撑的方式。
  • 在Python3.2下压缩测试否决警告。

0.3(2011-09-27)

功能
  • 事务管理器已转换为金字塔1.2"tween" (而不是事件订阅服务器)。它将直接在 异常视图处理程序,这意味着它将有机会处理异常 在它们变成回应之前。这意味着最好是 httpfound(…)"而不是"return httpfound(…)" 中止事务时出现异常。
  • 事务管理器现在将重试可重试的异常(例如zodb 冲突错误)如果 TM.尝试 配置为大于 默认值为 1 。请参见文档中的"重试"部分。
  • python 3.2兼容性(需要金字塔1.3dev+。

向后不兼容

  • 与棱锥体不兼容<;1.2A1。使用0.2版金字塔 需要与旧的金字塔安装兼容。

  • 不再配置默认的提交否决回调 默认情况下进入系统。使用否决权= 金字塔。在部署设置中添加默认的提交否决 。 这是用于与repoze.tm2的奇偶校验,它不在提交中配置 默认情况下也可以否决。

  • 默认的提交否决权不再检查 试图确定事务是否 应中止(尽管它仍检查x-tm报头)。使用 如果应用程序依赖于 x-tm-abort头。

  • 现在调用提交否决有两个参数: 请求 响应 请求是导致 要激活的事务管理器。 响应是 由金字塔应用程序返回。此呼叫签名不兼容 旧版本的。金字塔的呼叫信号 提交否决权接受三个参数: 环境 状态 ,以及 标题 。如果您使用的是自定义的提交否决功能,您将 需要转换现有函数以使用新调用 约定或使用包装器使其与新调用兼容 惯例。下面是一个简单的包装函数 ( bwcompat_commit_veto_wrapper )允许您使用现有的 自定义提交否决功能:

    def bwcompat_commit_veto_wrapper(request, response):
        return my_custom_commit_veto(request.environ, response.status,
                                     response.headerlist)
    

折旧

  • 金字塔提交否决配置设置现在是规范的 拼写为 tm.提交否决权。旧的拼写将继续工作, 但在使用时可能会引发弃用错误。

0.2(2011-07-18)

  • 新的报头x-tm 否决权。如果headerList中存在此头,则其值必须是 字符串。如果其值为 commit ,则将提交事务 无论状态代码或x-tm-abort的值如何。如果值 x-tm头的 x-tm 中止 (或除 提交 ),事务将被中止,而不管状态代码是什么 或x-tm-abort的值。

0.1(2011-02-23)

  • 初始版本,基于repoze.tm2

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在Spring Boot 2.2.0中添加弹性搜索?   jakarta ee如何在没有java认证的情况下停止直接访问网页(自定义标记)   java Hibernate:使用executeUpdate()的批删除未清除一级缓存   java如何在Hibernate中插入外键定义为Long的实体?   带参数的java Mockito单元测试计算器方法   java如何从Rally Rest API读取集合属性   java如何对基于消息的处理执行集成测试?   带插入排序的java排序字符串数组标记,双链表   java为什么在基于注释的Spring app@Value默认值中解析为null?   java Apache Commons Http客户端注册特定于客户端的协议   如何使用java反转字符串中n个部分的n个字符   java Tomcat在本地主机上运行良好,但在部署时出现内部服务器错误   使用信号量的变量的java结果   Java编译/运行时类路径问题   java哪个提供商负责AES/CTR/NOP添加?   伪错误解码器中的java响应未获取Zalando问题自定义属性