我们正在使用 AWS 步骤函数实施流程。这个过程中的一些任务需要很长时间。我们在这一步使用在 ECS 实例中运行的活动(工作人员)。状态机是这样的:
触发器 -> 步骤 1 (Lambda) -> 步骤 2 (ECS) -> 最后一步
有没有办法找到队列中等待 step2 工作人员拾取的任务数量并使用此信息自动扩展工作人员(ECS 集群)?
我们正在使用 AWS 步骤函数实施流程。这个过程中的一些任务需要很长时间。我们在这一步使用在 ECS 实例中运行的活动(工作人员)。状态机是这样的:
触发器 -> 步骤 1 (Lambda) -> 步骤 2 (ECS) -> 最后一步
有没有办法找到队列中等待 step2 工作人员拾取的任务数量并使用此信息自动扩展工作人员(ECS 集群)?
您可以调用 apilist_executions
来获取正在运行的执行列表,而不是为每个执行调用get_execution_history
。
在响应中,您可以迭代执行事件。如果您在列表中找到ActivityScheduled
但没有看到ActivityStarted
,则表示它正在等待工作人员执行此任务。
我在这里找到了一个非常好的用例和 Step Function 自动缩放。
我将使用其中的一些见解,例如使用 cloudwatch 警报来设置获取当前状态(即放大/缩小决策);使用 SQS 来保持警报等。