指定运行作业所需的资源 - AWS Batch

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

指定运行作业所需的资源

注册作业时,您可以指定您创建的一个或多个资源的名称 (consumableResource) 以及该作业的每个实例所需的资源数量 (quantity)。

Batch 会跟踪每种资源在任何给定时刻的可用单位数。对于作业队列中的每个作业,Batch 调度器会确保您的作业仅在指定的资源依赖项可用时运行。

如果作业到达队列顶部时作业的消耗性资源不可用,则该作业将处于 RUNNABLE 状态等待,直到所有必需的资源都可用或达到作业状态时间限制为止(请参阅查看作业队列状态)。一旦 Batch 验证所有资源都可用,作业状态就会变为 STARTING,然后变为 RUNNING。资源将在作业状态变为 STARTING 后立即锁定,然后在作业状态变为 SUCCEEDEDFAILED 时解锁。

您还可以在提交作业时更新特定作业所需的资源数量。

控制台:

要在定义作业时指定资源及其所需数量,请执行以下操作:
  1. 使用 AWS Batch 控制台中的作业定义向导(作业定义 -> 创建)定义作业。

  2. 在向导第 4 步:配置容器消耗性资源下,从列表中选择所需资源的名称。在已请求的值字段中,输入此作业实例所需的此资源的数量,然后选择添加消耗性资源

  3. 为作业所需的所有消耗性资源重复上一步。您最多可以为定义的每个作业指定 5 个资源。

  4. 在完成作业定义向导之后,但在选择创建作业定义之前,您将看到已创建的消耗性资源列表。

要在提交作业时更新所需资源数量,请执行以下操作:
  1. AWS Batch 控制台的导航窗格中,选择作业,然后选择提交新作业

  2. 在向导第 2 步:配置覆盖消耗性资源覆盖下,针对要为作业覆盖所需数量的任何消耗性资源,输入一个新的已请求的值

  3. 完成要为该作业做出的所有覆盖后,选择下一步以继续执行审核并提交

API。

将使用 RegisterJobDefinition API 注册作业时,请在请求的 consumableResourceProperties 部分中使用 consumableResourceList 来指定运行作业实例所需的消耗性资源以及每个消耗性资源的数量。

使用 SubmitJobAPI 提交作业时,可以使用请求的 consumableResourcePropertiesOverride 部分来覆盖消耗性资源列表和每个资源的数量。请注意,这只会覆盖每个作业实例所需的资源数量,而不是可用总量。