稍后重试“持久功能”活动/协调器

时间:2019-07-25 17:06:01

标签: azure azure-functions serverless azure-durable-functions

请考虑以下情形:

我的协调器O启动,并调用子协调器SS成功处理了活动A1A2,但失败了A3。我在A3上有自动重试功能,但是没有运气(我正在调用的Web服务给出404)。没问题,我捕获到异常并为A1A2执行清理。

最终,我需要重试该过程。 正确的方法是什么?

我当前的方法是,将消息写入具有可见性延迟的自定义毒药队列,然后使用另一个AZ函数从该队列中拉出并重新启动子编排器。

如果我可以使用相同的调用ID重新启动相同的子编排器,那也是理想的选择。从理论上讲,这可以使我不必重做A1A2以及清除它们!

这是正确的思路,还是我滥用了持久功能?

1 个答案:

答案 0 :(得分:1)

有一个API-Rewind Instances (预览)-我相信您可以使用它。您需要业务流程实例ID才能使用它。

您应该能够query for failed instances,基于custom status进行过滤,然后在它们上调用快退。