AWS SWF 自动取消子工作流程
AWS SWF cancelling child workflows automatically
我有 AWS SWF 工作流,它根据输入文件的数量在运行时创建许多子工作流。对于 x 个输入文件,它将创建 x 个子工作流。当输入文件数量在 400 个左右并成功创建和执行 400 个子工作流时,它工作正常。
问题是 - 当我的输入有大约 500 个或更多文件时,它成功启动了那么多子工作流,但随后自动取消了其中一些。我尝试了不同的配置,但没有任何效果。
我认为 AWS 对子工作流数量的限制是 1000,所以这应该不是问题。
当前的子工作流配置:
执行开始到关闭超时:2 小时 1 分钟
任务开始关闭超时:1 分 30 秒
主要工作流程配置:
执行开始到关闭超时:9 小时
任务开始关闭超时:1 分 30 秒
我的猜测是工作流代码中抛出了一些异常,默认情况下会取消相同取消范围内的工作流。阅读 TryCatchFinally 文档以获取有关取消语义的更多信息。
一般来说,我不会推荐 SWF 中的许多 child 工作流程,您始终可以分层进行。像30children,他们每人30children给出900个工作流程。
我有 AWS SWF 工作流,它根据输入文件的数量在运行时创建许多子工作流。对于 x 个输入文件,它将创建 x 个子工作流。当输入文件数量在 400 个左右并成功创建和执行 400 个子工作流时,它工作正常。
问题是 - 当我的输入有大约 500 个或更多文件时,它成功启动了那么多子工作流,但随后自动取消了其中一些。我尝试了不同的配置,但没有任何效果。
我认为 AWS 对子工作流数量的限制是 1000,所以这应该不是问题。
当前的子工作流配置: 执行开始到关闭超时:2 小时 1 分钟 任务开始关闭超时:1 分 30 秒
主要工作流程配置: 执行开始到关闭超时:9 小时 任务开始关闭超时:1 分 30 秒
我的猜测是工作流代码中抛出了一些异常,默认情况下会取消相同取消范围内的工作流。阅读 TryCatchFinally 文档以获取有关取消语义的更多信息。
一般来说,我不会推荐 SWF 中的许多 child 工作流程,您始终可以分层进行。像30children,他们每人30children给出900个工作流程。