gpt4 book ai didi

events - 在执行 Products.CMFCore.interfaces.IActionSucceededEvent 时加薪会中止工作流的 ZODB 事务吗?

转载 作者:行者123 更新时间:2023-12-03 13:40:40 25 4
gpt4 key购买 nike

假设我有mynamespace.myproduct:

 <subscriber for="..interfaces.myinterface.IMyInterface
Products.CMFCore.interfaces.IActionSucceededEvent"
handler=".handlers.actionSucceeded"
/>

mynamespace.myproduct2:

 <subscriber for="..interfaces.myinterface.IMyInterface
Products.CMFCore.interfaces.IActionSucceededEvent"
handler=".handlers.actionSucceeded"
/>

(处理程序在每个产品上做不同的事情,即使他们在这个例子中有相同的名字)

我有一个具有自定义工作流程的自定义类型。我将使用 doActionFor 从 Python 进行工作流转换,并在触发 IActionSucceededEvent 时执行一系列操作。

我的问题是:如果发生错误时,如果我对 .handlers.actionSucceeded 中的任何一个引发异常,doActionFor 调用是否会恢复(即使在 之后IActionSucceededEvent 已运行)?如果不是,如果我使用 IActionWillBeInvokedEvent,我是否能够实现我的目标?如果我有两个不同的产品,都使用 Products.CMFCore.interfaces.IActionSucceededEvent 用于相同的 ..interfaces.myinterface.IMyInterface 接口(interface),我会有问题吗?

最佳答案

  1. 是的,如果您在其中一个处理程序中提出任何异常整个交易将失败,并将被还原
  2. 不,使用多个订阅者不会有问题相同的接口(interface)。他们将按照注册的顺序执行。
  3. 不,使用 IActionWillBeInvokedEvent 没有帮助。它在 wf 转换之前被触发,但如果您引发异常,该事务无论如何都会失败。

关于events - 在执行 Products.CMFCore.interfaces.IActionSucceededEvent 时加薪会中止工作流的 ZODB 事务吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7312606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com