活动故障排除 - Amazon Step Functions
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

活动故障排除

我的状态机执行卡在活动状态。

在使用 GetActivityTask API 操作轮询任务标记之前,活动任务状态不会启动。最佳实操是添加任务级超时,用于避免执行卡住。有关更多信息,请参阅使用超时避免执行卡顿

如果您的状态机在 ActivityScheduled 事件中卡住,这表明您的活动工作线程实例集存在问题或规模不足。您应该监控 ActivityScheduleTime CloudWatch 指标,并在该时间增加时设置警报。不过,要想超时处理任何卡住的状态机执行(其中 Activity 状态没有转换到 ActivityStarted 状态),可在状态机级别定义超时。为此,请在状态机定义的开头指定一个 TimeoutSeconds 字段,该字段位于 States 字段之外。

我的活动工作线程在等待任务令牌时超时。

工作线程使用 GetActivityTask API 操作来检索具有指定活动 ARN 的任务,该活动 ARN 计划由运行中的状态机执行。GetActivityTask 会启动长时间轮询,因此服务会保持 HTTP 连接打开,并在任务可用时立即做出响应。服务在响应之前保留请求的最长时间为 60 秒。如果在 60 秒内没有任务可用,轮询将返回一个带空字符串的 taskToken。要避免此类超时,请在 Amazon 开发工具包或用于进行 API 调用的客户端中配置一个超时至少 65 秒的客户端套接字。