首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >amazon swf中崩溃的工作进程的方法

amazon swf中崩溃的工作进程的方法
EN

Stack Overflow用户
提问于 2016-01-26 10:16:15
回答 2查看 352关注 0票数 2

我们目前在Amazon SWF中实现了一个工作流,我们从web应用程序中提交作业/工作流执行。使用Ruby Flow框架可以快速轻松地设置所有内容。只要决策者/活动工作者不崩溃,我们似乎能够优雅地处理大多数问题/异常。

我的问题是,对于决策者流程在工作流执行中途崩溃的情况,常见的做法是什么?如果任务以这种方式失败,是否可以推送SNS通知(我还没有看到示例)或其他东西,以指示另一个进程发生了意外的失败/崩溃?

EN

回答 2

Stack Overflow用户

发布于 2016-01-27 03:10:54

有各种类型的“决策器”故障。

  1. 工作流工作器在处理决策时崩溃。决策任务会在指定的超时后自动重新调度。确保工作流类型defaultTaskStartToCloseTimeout设置得不是太高。如果此崩溃与代码正确性无关,则会处理重新调度的任务,并继续执行工作流,normally.
  2. Workflow worker不会崩溃,但工作流执行本身会失败。在这种情况下,您可以使用ListClosedWorkflowExecutions来计算失败的workflows.
  3. Workflow工作线程没有崩溃,但是决策任务无法完成,因为流框架中的错误导致RespondDecisionTaskCompleted失败。从SWF的角度来看,任务永远不会完成,它会在某个时候被标记为超时并重新调度。当错误仍然存在时,新的任务再次永远不会完成和重新调度,依此类推。遇到这种问题的工作流执行有一个历史记录,其尾部由重复的“决策任务调度,决策任务超时”事件组成。如果您的工作流有已知的执行时间限制,那么捕获此问题的最好方法是设置合理的executionStartToCloseTimeout并查找超时的工作流执行。如果决策任务超时设置得太低,则在执行超时之前,此类工作流也可能达到历史记录大小限制。
票数 1
EN

Stack Overflow用户

发布于 2016-01-26 23:06:55

并非所有swf指标都发布到cloud watch。因此,所有完成和失败的工作流都会将指标发送到cloudwatch,您可以在其中创建警报,以便在任何工作流失败时向您发送通知。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35006005

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档