我们的主编排有多个子编排。所有根编排都是事务类型:无,因此所有子编排也具有相同的性质。现在,任何异常都会在主编排的父范围内被捕获,并且我们有一些步骤,例如日志记录。使用来自 App SQL 的消息激活编排。所以每次发生异常时,比如说由于间歇性的事情,比如无法连接到 Web 服务。我们以后去手动重新触发。
我正在考虑将 orch 修改为自我修复,例如从异常捕获块中它根据说明问题的条件重新初始化消息,问题是间歇性的。像 app issue-null reference 这样的东西,我们不想重新发送消息,因为 orch 永远不会工作。
有一个称为补偿的概念,但这是基于事务的 orch-n 步骤,如果任何 1 失败,则执行 m 其他步骤(这将执行替代操作或清理)。
我唯一的想法是根据异常中的关键字进行查找并决定重新发送消息。但我希望 some1 挑战这一点或提出更好的方法