View a markdown version of this page

为任务创建资源限制 - 截止日期云

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

为任务创建资源限制

提交到 Deadline Cloud 的任务可能取决于多个任务之间共享的资源。例如,农场的工人人数可能超过特定资源的浮动许可证。或者,共享文件服务器可能只能同时向有限数量的工作人员提供数据。在某些情况下,一个或多个工作可能会占用所有这些资源,从而导致新工作人员启动时因资源不可用而导致错误。

为了帮助解决这个问题,您可以对这些受限的资源使用限制。Deadline Cloud 考虑了受限资源的可用性,并使用该信息来确保新员工启动时资源可用,从而降低因资源不可用而导致工作失败的可能性。

限制是为整个农场创建的。提交到队列的任务只能获得与该队列相关的限制。如果您为与队列无关的作业指定限制,则该作业不兼容且无法运行。

要使用限额,您

注意

如果您运行的任务在与限制无关的队列中限制了资源,则该作业可能会消耗所有资源。如果您的资源受限,请确保队列中使用该资源的任务中的所有步骤都与限制相关联。

对于在农场中定义、与队列关联以及在任务中指定的限制,可能会发生以下四种情况之一:

  • 如果您创建限制,将其与队列关联,并在作业模板中指定限制,则作业将仅运行并使用限制中定义的资源。

  • 如果您创建了限制,请在作业模板中指定限制,但不将限制与队列关联,则该作业会被标记为不兼容且无法运行。

  • 如果您创建限制,不将其与队列关联,也没有在作业模板中指定限制,则作业将运行但不使用该限制。

  • 如果你根本不使用限制,任务就会运行。

如果您将限制关联到多个队列,则这些队列将共享受该限制限制的资源。例如,如果您创建的限制为 100,并且一个队列使用 60 个资源,则其他队列只能使用 40 个资源。当资源被释放时,它可以由任何队列中的任务获取。

Deadline Cloud 提供了两个 AWS CloudFormation 指标来帮助您监控限额提供的资源。您可以监控当前使用的资源数量以及限制中可用的最大资源数。有关更多信息,请参阅 Deadl ine Cloud 开发人员指南中的资源限制指标

您可以对作业模板中的任务步骤应用限制。当您在步骤的amounts部分中指定限额的需求量名称,并且该hostRequirements限额与任务队列关联时,为该步骤安排的任务将受到资源限制的约束。amountRequirementName

如果某个步骤需要的资源受限于已达到的限制,则该步骤中的任务不会被其他工作人员接管。

您可以对一个任务步骤应用多个限制。例如,如果该步骤使用两个不同的软件许可证,则可以为每个许可证应用单独的限制。如果一个步骤需要两个限制并且达到了其中一个资源的限制,则在资源可用之前,该步骤中的任务不会被其他工作人员接管。

停止和删除限制

当您停止或删除队列与限制之间的关联时,使用该限制的作业会停止从需要此限制的步骤中调度任务,并阻止为步骤创建新会话。

处于 READY 状态的任务将保持就绪状态,当队列与限制之间的关联再次激活时,任务会自动恢复。你不需要重新申请任何任务。

当你停止或删除队列和限制之间的关联时,你有两种选择来停止正在运行的任务:

  • 停止和取消任务 -会话已达到上限的工作人员取消所有任务。

  • 停止并完成正在运行的任务 — 会话已达到上限的工作人员完成任务。

当您使用控制台删除限制时,工作人员首先会立即停止运行任务,或者最终在任务完成后停止运行。删除关联后,会发生以下情况:

  • 需要限制的步骤被标记为不兼容。

  • 包含这些步骤的整个任务将被取消,包括不需要限制的步骤。

  • 该作业被标记为不兼容。

如果与限制关联的队列具有与限额要求名称相匹配的队列能力的关联队列,则该队列将继续处理具有指定限制的任务。

重要

请勿将限额的金额要求名称添加为舰队能力中的customAmounts条目。如果队列将该数量声明为一种能力,则队列会将其视为每位工作人员的资源,队列级别的限制将被绕过。仅队列限制关联即可为需要该限制的作业提供调度兼容性。