【问题标题】:How to track Aws batch job status to perform other actions when that particular job is completed如何在特定作业完成时跟踪 Aws 批处理作业状态以执行其他操作
【发布时间】:2022-01-19 23:58:50
【问题描述】:

我想在使用 aws-sdk 提交的 aws 批处理作业完成后执行一些操作。我得到了作业 ID、作业名称和更多参数作为响应,但是当我的批处理作业提交时我得到了这个响应,而不是在完成之后。有没有办法在完成 aws 批处理作业后获取数据,以便我知道该作业已完成并且我可以根据该作业的输出做进一步的工作?在完成或失败作业后,有什么方法可以从 aws 批处理作业中获取有关状态的响应?

【问题讨论】:

  • 你的问题不够清楚。您使用的是 AWS 开发工具包吗?您正在使用什么服务。有许多不同的服务可以执行批处理作业并返回一个作业编号,您必须检查该编号以确定作业状态。
  • 是的,我正在使用 aws-sdk 提交我的工作。
  • 您使用的是哪种 AWS 服务,例如胶水作业等。
  • 我对 AWS 很陌生。我正在使用 aws-sdk 提交 aws 批处理作业。我正在使用 aws 批处理服务。
  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: amazon-web-services aws-sdk aws-batch


【解决方案1】:

看起来你有几个选择:

  1. 使用AWS Batch Events 您的工作创建。 CloudWatch 事件可以自动触发许多其他事情。但是,您无法控制活动的内容,因为它是自动生成的。

AWS Batch 将作业状态更改事件发送到 CloudWatch Events。 AWS Batch 跟踪您的作业状态。如果先前提交的作业的状态发生变化,则会调用一个事件。例如,如果处于 RUNNING 状态的作业变为 FAILED 状态

  1. 使您的 Batch 工作流程成为 Step Function 的一部分。您可以选择从一个步骤(批处理)传递到另一个步骤(无论它触发什么)。您还可以通过 Step Functions 获得大量内置状态跟踪和故障处理功能。

  2. 让您的 Batch 作业触发它们自己的后续流程。例如。在他们写出他们的输出之后,向一个 SQS 队列发送一条 SNS 消息,其中包含关于他们的输出写入位置的信息。然后,监听 SQS 队列的 lambda 可以获取 SNS 消息并基于它进行工作。您可以完全自定义您的交互,但没有内置状态跟踪或故障处理,除了您在连接中实现的内容。

【讨论】:

    猜你喜欢
    • 2018-07-26
    • 2023-04-06
    • 2017-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-28
    • 2015-04-01
    • 1970-01-01
    相关资源
    最近更新 更多