【发布时间】:2020-02-27 23:28:15
【问题描述】:
现在我有一个 AWS Step Function 来创建、运行和终止 EMR 集群作业。我想添加一个超时功能来停止作业并在集群卡住或运行时间过长的情况下终止集群(例如,将输入变量 "TIMEOUT_AFTER_X_HOURS": 12 与集群配置一起传递到状态机中如果集群在 12 小时后仍在运行,将自动停止作业并终止集群)。有谁知道如何做到这一点?
【问题讨论】:
-
google 中的第一个链接docs.aws.amazon.com/step-functions/latest/dg/…
-
你显然没有明白我在问什么,你的链接没有帮助。我想要整个状态机/ emr 集群作为一个整体的超时功能,not 像链接中的每个单独任务。我还希望超时长度由用户输入参数管理,不是在您的链接中的任务中的硬编码值。
-
docs.aws.amazon.com/step-functions/latest/dg/… TimeoutSeconds (可选) - 这是您可以定义整台机器超时的方式,因此您可以在启动前生成模板并设置整个超时
-
谢谢。我有这个使用硬编码的超时值,但是您知道是否可以通过输入参数设置超时值,例如使用输入参数
"timeout": 600开始执行并使用"TimeoutSeconds": "$.timeout"?设置状态机我我不确定如何执行此操作,因为"TimeoutSeconds"似乎只接受硬编码的整数值。 -
另外,我将使用状态机运行 EMR 集群,您知道是否可以在超时发生时将状态机指向特定任务,而不仅仅是让状态机停止它在哪里?我想让它指向一个任务,我可以编写一个 lambda 函数或其他东西来在状态机超时时终止正在运行的 EMR 集群,而不是状态机只是停止并让 EMR 集群启动并等待。跨度>
标签: amazon-web-services aws-step-functions