设置指定作业的属性。
有关如何使用此命令的示例,请参阅 示例。
语法
job modify <jobID> {[/addexcludednodes:<node_list>] |
[/clearexcludednodes] | [/removeexcludednodes:<node_list>]}
[/askednodes:<node_list>] [/corespernode:<min>[-<max>]]
[/customproperties:<property_list>]
[/emailaddress:<address>] [/estimatedprocessmemory:<memory>]
[/exclusive[:{true|false}]]
[/faildependenttasks[:{true|false}]] [/failontaskfailure[:{true|false}]]
[/holduntil:[{<DateTime>|<minutes>}]] [/jobenv:<variable_and_value_list> ]
[/jobfile:<path>\<file_name>] [/jobname:<job_name>]
[/jobtemplate:<job_template_name>] [/license:<license_list>]
[/memorypernode:<min>[-<max>]] [/nodegroup:<node_group_list>]
[/nodegroupop:{Intersect|Uniform|Union}]
[/notifyoncompletion[:{true|false}]] [/notifyonstart[:{true|false}]]
{[/numcores:<min>[-<max>]] | [/numnodes:<min>[-<max>]] |
[/numprocessors:<min>[-<max>]] | [/numsockets:<min>[-<max>]] }
[/orderby:<primary>[,<secondary>]] [/parentjobids:<jobID_list>]
[/password:<password>] [/priority:<priority>]
[/progress:<percent_progress>][/progressmsg:<message>]
[/projectname:<name>] [/removeexcludednodes:nodename{,nodename}*]
[/requestednodes:<node_list>] [/runtime:{<time>|Infinite}
[/rununtilcanceled[:{true|false}]] [/scheduler:<name>]
[/singlenode [:{true|false}]] [/taskexecutionfailureretrylimit:<retry_limit>]
[/user:[<domain>\]<user_name>] [/validexitcodes {:int|intStart..intEnd}[,{int|intStart..intEnd}]*]
job modify [{/? | /help}]
参数
| 参数 | DESCRIPTION |
|---|---|
| jobID | 指定要更改其属性的作业的作业标识符。 |
| /addexcludednodes:<node_list> | 指定要添加到作业不应以 node1_name>[,<node2_name>...] 格式<运行的节点列表的节点的名称。 如果将节点添加到该节点上运行作业时不应用于作业的节点列表,则取消节点上运行的作业中的任务,如果任务的 IsRerunnable 属性为 True,则重新排队。 如果在作业中任一任务的 RequiredNodes 属性中指定了节点,如果在 /addexcludednodes 参数中还指定了该节点,则提交作业时将发生错误。 如果在 /addexcludednodes 参数中指定一组节点,导致可用资源集小于作业所需的最小资源数,则提交作业时将发生异常。 例如,如果 HPC 群集由三个节点组成,并且你在 /addexcludednodes 参数中包含其中两个节点,该作仅使一个节点可用,并且如果作业需要至少两个节点,则提交作业时会出现异常。 如果指定当前不属于 HPC 群集的节点的名称,则会发生错误。 如果将同一节点两次添加到不应用于作业的节点列表中,则添加节点的第二次不起作用。 如果还指定 /clearexcludednodes 或 /removeexcludednodes 参数,则不能指定 /addexcludednodes 参数。 注意: 此参数是在 HPC Pack 2008 R2 中引入的,在以前的版本中不受支持。 |
| /clearexcludednodes | 从该列表中删除不应用于作业的节点列表中的所有节点。 若要从不应用于作业的节点列表中删除特定节点,请使用 /removeexcludednodes 参数。 如果还指定 /addexcludednodes 或 /removeexcludednodes 参数,则不能指定 /clearexcludednodes 参数。 注意: 此参数是在 HPC Pack 2008 R2 中引入的,在以前的版本中不受支持。 |
| /removeexcludednodes:<node_list> | 指定要从作业不应以 node1_name>[,<node2_name>...] 格式<运行的节点列表中删除的节点的名称。 若要从该列表中删除不应用于作业的节点上的所有节点,请使用 /clearexcludednodes 参数。 如果指定当前不属于 HPC 群集的节点或属于 HPC 群集的节点,但不是不应用于作业的当前节点列表的一部分, 则 /removeexcludednodes 参数不起作用,并且不会发生错误。 如果还指定 /addexcludednodes 或 /clearexcludednodes 参数,则不能指定 /removeexcludednodes 参数。 注意: 此参数是在 HPC Pack 2008 R2 中引入的,在以前的版本中不受支持。 |
| /askednodes:<node_list> | 已弃用。 请改用 /requestednodes 参数。 |
| /corespernode:<min>[-<max>] | 指定要将节点视为运行作业的候选节点的最小内核数(可选)。节点可具有的最大内核数。 作业不会在核心数少于最小值或内核数少于此参数指定的最大值的节点上运行。 如果群集中的所有节点都具有许多超出为此参数指定的范围的核心,则提交作业时将发生错误。 |
| /customproperties:<property_list> | 以 name1=<value1>>[;< 格式<指定作业的自定义属性的名称和值name2>=<value2>...]。自定义属性名称不区分大小写,并反映首次定义时使用的事例。 注意: 此参数是在 HPC Pack 2012 中引入的,在以前的版本中不受支持。 |
| /emailaddress:<address> | 将此作业的通知发送到此电子邮件地址。 注意: 此参数是在 HPC Pack 2012 中引入的,在以前的版本中不受支持。 |
| /estimatedprocessmemory:<memory> | 估计此作业中的每个进程消耗的最大内存量(MB)。 |
| /exclusive[:{true|false}] | 指定 HPC 作业计划程序服务是否应在运行此作业时确保没有其他作业在与此作业相同的节点上运行。 值为 True 表示 HPC 作业计划程序服务应确保在运行此作业时,其他作业不会在此作业所在的同一节点上运行。 False 值表示此作业可以与其他作业共享计算节点。 指定不带值的 /exclusive 参数时, 作业修改 命令的行为就像指定了 True 值一样。 如果未指定 /exclusive 参数,则作业修改命令的行为就像指定了 False 值一样。 |
| /faildependenttasks[:{true|false}] | 如果任务失败或取消,则所有依赖任务都会失败。 如果未声明 /faildependenttasks ,则假定为 True。 如果未声明 /faildependenttasks ,则假定为 False。 注意: 此参数是在 HPC Pack 2012 中引入的,在以前的版本中不受支持。 |
| /failontahpailure[:{true|false}] | 指定 HPC 作业计划程序服务是否应停止作业,并在作业中的任务失败时立即失败整个作业。 值为 True 表示 HPC 作业计划程序服务应停止作业,并在作业中的任务失败时立即失败整个作业。 False 值指示 HPC 作业计划程序服务应在作业中的任何任务失败后继续运行作业中的其余任务。 在未指定值 的情况下指定 /failontahpailure 参数时, 作业修改 命令的行为就像指定了 True 值一样。 如果未指定 /failontahpailure 参数, 则作业修改 命令的行为就像指定了 False 值一样。 |
| /holduntil:[{<DateTime>|<minutes>}] | 指定在尝试启动作业之前 HPC 作业计划程序服务应等待的本地时间或分钟数的日期和时间。 如果未设置此参数,作业可以在资源可用时启动。 HPC 作业计划程序服务仅在此参数指定的日期和时间运行作业,指定作业所需的资源是否可用。 如果作业所需的资源在该日期和时间不可用,该作业将保持排队,直到必要的资源可用。 可以指定 .NET Framework 可以分析当前作系统区域性的任何格式的日期和时间。 有关 .NET Framework 如何分析日期和时间字符串的信息,请参阅 分析日期和时间字符串。 只要作业未运行或完成,就可以为作业指定 /holduntil 参数。 注意: 使用 /holduntil 指定的时间在内部转换为 UTC,不会反映本地夏令时。 如果使用分钟值,则它必须是整数。 应用 作业修改 时,保留分钟数将转换为 UTC。 如果 /holduntil 的值为空,则会清除任何当前 /holduntil 值,并且作业不再挂起,因为该参数。 注意: 此参数是在 HPC Pack 2012 中引入的,在以前的版本中不受支持。 |
| /jobenv:<variable_and_value_list> | 指定要在作业的运行时环境中设置的环境变量以及要设置这些环境变量的值。 列表的格式应为 <variable_name1>=<value1> [;<>variable_name2=<value2>...]。 或者,可以通过包括多个 /jobenv 参数来设置多个环境变量,每个参数具有 variable_name>=<value> 格式<的不同参数。 若要取消设置环境变量,请不要指定值。 例如,“<variable_to_unset_name>=”。 如果为作业设置或取消设置环境变量,则作业中的每个任务也会设置或取消设置该环境变量,除非使用 /env 参数指定新设置来替代该任务的环境变量设置。 注意: 此参数是在 HPC Pack 2008 R2 中引入的,在以前的版本中不受支持。 |
| /jobfile:<path>\<file_name> | 已弃用。 请改用此命令的其他参数来更改作业的设置。 |
| /jobname:<job_name> | 指定在命令输出和用户界面中用于此作业的名称。 作业名称的最大长度为 80 个字符。 |
| /jobtemplate:<job_template_name> | 指定要用于作业的作业模板的名称。 作业模板名称的最大长度为 80 个字符。 |
| /license:<license_list> | 指定作业需要许可证的功能列表,以及每个作业所需的许可证数。 使用 license_name1>:number1> [,<license_name2>:<number2>...] 的格式<< 此列表。 例如,License1:10,License2:20,License3:12。 列表的最大长度为 160 个字符。 |
| /memorypernode:<min>[-<max>] | 指定 HPC 作业计划程序服务可以将节点视为运行作业的候选节点的最小内存量(MB)(MB)。 作业不会在内存小于最小值或内存大于此参数指定的最大值的节点上运行。 如果群集中的所有节点的内存量都超出为此参数指定的范围,则提交作业时会发生错误。 |
| /nodegroup:<node_group_list> | 指定此作业可以运行 <格式为 node_group1_name>[,<node_group2_name>...] 的节点组的列表。 HPC 作业计划程序服务从默认情况下属于列表中所有节点组的节点或 由 /nodegroupop 参数(如果指定)作产生的节点(如果指定)分配给作业。 如果同时为 /nodegroups 和 /requestednodes 参数指定值,则作业仅在 /requestednodes 参数的节点列表中运行,这些节点也属于使用 /nodegroup 和 /nodegroupop 参数定义的节点列表。 /nodegroup 参数可确保有效节点列表中存在节点。 但是,如果无法从节点列表中满足上述参数的作业资源要求,则作业在作业提交过程中会失败。 如果为作业的任务和 /nodegroup 指定参数 /requestednodes,如果在请求的节点中未与 /nodegroup 和 /nodegroupop 参数一起列出的节点,则提交期间作业将失败。 |
| /nodegroupop:{Intersect|统一|Union} | 指定 由 /nodegroup 参数指定的列表的运算符。 有效值为: 相交 - 创建所有列出的节点组中的节点列表。 统一 - 使 HPC 作业计划程序服务按顺序尝试节点组。 如果第一个节点组中有足够的资源,则使用它们。 如果没有,计划程序会尝试以下每个节点组,直到找到具有足够资源的节点组。 如果未找到足够的资源,作业将保持排队状态。 联合 - 创建任何节点组中的节点列表。 此参数的默认值为 Intersect。 注意: 此参数是在 HPC Pack 2012 中引入的,在以前的版本中不受支持。 |
| /notifyoncompletion[:{true|false}] | 指定在作业结束时 HPC 作业计划程序服务是否应发送电子邮件通知。 True 值指示 HPC 作业计划程序服务应在作业结束时发送电子邮件通知。 值为 False 表示 HPC 作业计划程序服务在作业结束时不应发送电子邮件通知。 作业结束,当作业的状态更改为“已完成”、“失败”或“已取消”时,将发送通知。 群集管理员必须先为 HPC 群集配置通知,然后才能收到有关作业的通知。 指定不带值的 /notifyoncompletion 参数时, 作业新 命令的行为就像指定了 True 值一样。 如果未指定 /notifyoncompletion 参数, 则作业新 命令的行为就像指定了 False 值一样。 注意: 此参数是在 HPC Pack 2008 R2 中引入的,在以前的版本中不受支持。 |
| /notifyonstart[:{true|false}] | 指定在作业启动时 HPC 作业计划程序服务是否应发送电子邮件通知。 值为 True 表示 HPC 作业计划程序服务应在作业启动时发送电子邮件通知。 False 值指示当作业启动时,HPC 作业计划程序服务不应发送电子邮件通知。 群集管理员必须先为 HPC 群集配置通知,然后才能收到有关作业的通知。 在未指定值 的情况下指定 /notifyonstart 参数时, 作业新 命令的行为就像指定了 True 值一样。 如果未指定 /notifyonstart 参数, 则作业新 命令的行为就像指定了 False 值一样。 注意: 此参数是在 HPC Pack 2008 R2 中引入的,在以前的版本中不受支持。 |
| /numcores:<min>[-<max>] | 指定作业所需的最小 [-<maximum>] 格式<>跨 HPC 群集的核心总数。 作业至少在最小内核数和最大值上运行。 如果只指定一个值,此命令会将最大和最小核心数设置为该值。 如果指定一个最小值,该值超过群集中可用的内核总数,则提交作业时会发生错误。 最小值和最大值只能是正整数或星号 \。 如果将最小值或最大值指定为星号,HPC 作业计划程序服务将根据作业中任务的最小核心数和最大核心数自动计算运行时的最小或最大核心数。 如果同时指定 /numnodes、/numprocessors 或 /numsockets 参数,则不能指定 /numcores 参数。 |
| /numnodes:<min>[-<max>] | 指定作业所需的 HPC 群集中最小>[-<maximum>]格式<的节点总数。 作业至少在最小数目的节点上运行,并且不超过最大值。 如果只指定一个值,此命令会将节点的最大和最小数目设置为该值。 如果指定一个最小值,该值超过群集中可用的节点总数,则提交作业时会发生错误。 最小值和最大值只能是正整数或星号 \。 如果将最小值或最大值指定为星号,HPC 作业计划程序服务将根据作业中任务的最小节点数和最大节点数自动计算最小或最大节点数。 如果同时指定 /numcore、/numprocessors 或 /numsockets 参数,则不能指定 /numnodes 参数。 |
| /numprocessors:<min>[-<max>] | 已弃用。 请改用 /numcores 参数。 |
| /numsockets:<min>[-<max>] | 指定作业所需的最小[-<maximum>]格式<>跨 HPC 群集的套接字总数。 作业至少在最小套接字数和最大值上运行。 如果只指定一个值,此命令会将套接字的最大和最小数目设置为该值。 如果指定一个最小值,该值超过群集中可用的套接字总数,则提交作业时会出现错误。 最小值和最大值只能是正整数或星号 \。 如果将最小值或最大值指定为星号,HPC 作业计划程序服务将根据作业中任务的最小和最大套接字数自动计算运行时的最小或最大套接字数。 如果还指定 /numcores、/numprocessors 或 /numnodes 参数,则不能指定 /numsockets 参数。 |
| /orderby:<primary>[,<secondary>] | 指定 HPC 作业计划程序服务应使用的顺序,以primary_order>[,<secondary_order>]格式<将节点分配给作业。 值的primary_order和secondary_order部分可以是以下值之一: -记忆 HPC 作业计划程序服务按节点的可用内存量对节点进行排序,并将作业分配给具有更多内存的节点。 - -memory HPC 作业计划程序服务按节点的可用内存量对节点进行排序,并将作业分配给内存较少的节点。 -核心 HPC 作业计划程序服务按可用核心数对节点进行排序,并将作业分配给具有更多核心的节点。 -–核心 HPC 作业计划程序服务按节点的可用内核数对节点进行排序,并将作业分配给先具有较少核心的节点。 指定辅助顺序时,HPC 作业计划程序服务会首先根据主要顺序对节点进行排序。 对于具有相同主顺序所指定资源的节点子集,HPC 作业计划程序服务然后使用辅助排序顺序对子集内的节点进行排序。 例如,如果指定内存(核心),HPC 作业计划程序服务会将节点从最高内存量排序到最低。 然后,对于内存量相同的节点的子集,HPC 作业计划程序服务使用核心数来打破关系,并将内存量从最少的节点数到最多对具有相同内存量的节点进行排序。 主要顺序和辅助顺序必须引用不同类型的资源。 例如,内存和核心是主要排序顺序和辅助排序顺序的有效组合。 内存、内存和 -core 等组合无效。 HPC 作业计划程序服务用于向作业分配节点的默认顺序是核心、内存。 |
| /password:<password> | 指定运行作业的帐户的密码。 如果指定 /user 参数而不是 /password 参数, 作业将修改 命令提示符输入密码以及是否存储密码。 |
| /parentjobids:<jobID_list> | 指定作业将以 jobID1>[,<jobID2>...] 格式<依赖的作业 ID 列表。 作业 ID 必须已存在。 HPC 作业计划程序服务仅在作业的父作业已完成且全部处于“已完成”状态时,才会计划作业。 如果任何父作业尚未完成或已完成,但处于“已取消”或“失败”状态,作业将保持排队状态。 注意: 此参数是在 HPC Pack 2012 中引入的,在以前的版本中不受支持。 |
| /priority:<priority> | 指定计划作业的优先级。 对于 HPC Pack 2008,优先级值只能是以下命名值之一:Highest、AboveNormal、Normal、BelowNormal 或 Lowest。 从 HPC Pack 2008 R2 开始,可以使用 HPC Pack 2008 中使用的五个命名优先级值中的任何一个。 还可以使用介于 0 和 4000 之间的任意数字,将 0 用作最低优先级,将 4000 作为最高优先级。 还可以将优先级值指定为 named_value+偏移量 或 named_value-偏移量。 出于这些最终格式的目的,命名优先级具有以下值,命名值和偏移的组合不能小于 0 或大于 4000。 最高- 4000 AboveNormal - 3000 正常 - 2000 BelowNormal - 1000 最低 - 0 作业使用的作业模板指定影响谁可以指定提升优先级的权限。 HPC 作业计划程序服务按照用户提交作业的顺序将具有相同优先级的作业放入作业队列中,除非用户重新排队作业。 如果用户重新排队作业,HPC 作业计划程序服务会将该作业放在具有相同优先级的作业中。 作业的默认优先级为 Normal 或 2000。 |
| /progress:<percent_progress> | 指定已完成的作业的百分比。 此值必须介于 0 和 100 之间。 如果未设置此属性的值,HPC 作业计划程序服务会根据作业完成的任务百分比计算进度。 为作业设置此属性时,HPC 作业计划程序服务不会继续更新此属性,因此必须继续更新该属性。 注意: 此参数是在 HPC Pack 2008 R2 中引入的,在以前的版本中不受支持。 |
| /progressmsg:<message> | 指定要为作业显示的自定义状态消息。 此字符串的最大长度为 80 个字符。 若要指定包含空格的状态消息,请将状态消息括在引号中()。 注意: 此参数是在 HPC Pack 2008 R2 中引入的,在以前的版本中不受支持。 |
| /projectname:<name> | 指定可用于跟踪作业的作业的项目名称。 项目名称的最大长度为 80 个字符。 |
| /requestednodes:<node_list> | 指定作业可在其上运行格式 <node1_name>[,<node2_name>...]的节点的名称列表。 这些节点是作业的候选节点,但如果这些节点上的可用资源超过作业所需的资源,则并非所有节点都必须运行该作业。 HPC 作业计划程序服务根据 /orderby 参数的值分配顶部节点,直到分配的节点满足使用 /numcore、/numsockets、/numprocessors 或 /numnodes 参数指定的值。 如果未指定 /requestednodes 参数,HPC 作业计划程序服务会将所有节点视为 HPC 作业计划程序服务可以分配给作业的候选节点。 如果为 /requestednodes 和 /nodegroups 参数指定值,则作业仅在 /requestednodes 参数的节点列表中运行,这些节点也属于使用 /nodegroup 和 /nodegroupop 参数定义的节点列表。 |
| /runtime:{<time> |Infinite} | 指定作业应运行的最大时间。 作业运行此时间后,HPC 作业计划程序服务将取消作业。 以 [[<days>:]hours>:]<<minutes> 格式指定时间量。 还可以指定 Infinite 以指示作业可以在无限时间内运行。 如果只指定 [[<days>:]<hours>:]<minutes> 格式的一部分,该命令会将指定的值解释为分钟数。 例如, 12 表示 12 分钟。 如果指定格式的两个部分,该命令会将左侧部分解释为小时数,右侧部分解释为分钟数。 例如, 10:30 表示 10 小时 30 分钟。 可以对格式的每个部分使用一个或多个数字。 每个部件的最大值为 2,147,483,647。 如果未指定 /runtime 参数,则默认值为 Infinite。 |
| /rununtilcanceled[:{true|false}] | 指定在运行时限制过期或有人取消作业之前,作业是否继续运行并保留资源。 值为 True 表示作业继续运行并保留资源,直到运行时限制过期或有人取消作业。 如果指定值为 True,则必须为 /numcore、/numnodes 或 /numsockets 参数指定最小值和最大值,或者在提交作业时发生错误。 值为 False 表示作业在作业中的所有任务完成后应停止并释放其资源。 指定不带值的 /rununtilcanceled 参数时, 作业修改 命令的行为就像指定了 True 值一样。 如果未指定 /rununtilcanceled 参数, 作业修改 命令的行为就像指定了 False 值一样。 |
| /scheduler:<name> | 指定包含要修改的作业的群集的头节点的主机名或 IP 地址。 该值必须是有效的计算机名称或 IP 地址。 如果未指定 /scheduler 参数,此命令将在CCP_SCHEDULER环境变量指定的头节点上使用计划程序。 |
| /singlenode[:{true|false}] | 指定将在一个节点上分配所有资源。 如果 /singlenode 声明没有值,则假定为 True。 如果未声明 /singlenode ,则假定为 False。 注意: 此参数是在 HPC Pack 2012 中引入的,在以前的版本中不受支持。 |
| /taskexecutionfailureretrylimit:<retry_number> | 指定此作业中除节点准备或节点发布任务以外的任务在应用程序执行失败后自动重新排队的最大次数。 默认值为 0。 注意: 此参数是在 HPC Pack 2012 R2 Update 1 中引入的。 它在以前的版本中不可用。 |
| /user:[<domain>\]<user_name>] | 指定用户名,还可以选择运行作业的帐户的域。 如果未指定此参数,作业将在用于提交作业的帐户下运行。 |
| /validexitcodes:{int|intStart..intEnd} [,{int|intStart..intEnd}]* | 指定用于检查作业中的任务是否成功退出的退出代码。
/validexitcode 必须由离散整数和以逗号分隔的整数范围指定。 min 或 max 可用作整数范围的开始或结尾。 例如, 0..max 表示所有非负整数。可以通过声明特定于任务的 /validexitcodes 参数来重写此参数。 未显式声明此参数的所有任务都将从作业继承参数。 如果未定义 /validexitcodes ,则 0 是默认有效的退出代码。 注意: 此参数是在 HPC Pack 2012 中引入的,在以前的版本中不受支持。 |
| /? | 在命令提示符下显示帮助。 |
| /帮助 | 在命令提示符下显示帮助。 |
注解
不能更改处于完成状态的作业的属性。
对于处于运行状态的作业,只能更改以下属性:
名称
项目
运行
RunUntilCanceled
优先度
AddExcludedNodes
ClearExcludedNodes
RemoveExcludedNodes
NotifyOnCompletion
进展
ProgressMessage
JobEnv
从 HPC Pack 2008 开始,可以通过使用 作业修改 命令将 RunUntilCanceled 属性设置为 False 来结束要运行的作业,直到取消该作业。 有关如何结束其设置为在取消之前运行的作业的详细信息,请参阅 Windows HPC Server 2008 技术库 的作部分 (https://go.microsoft.com/fwlink/?LinkId=120726)中的“结束运行到已取消的作业已完成”。
从 HPC Pack 2008 R2 开始,可以结束一个作业,该作业设置为在取消之前运行,并使用 作业完成 命令将该作业的状态设置为“已完成”。
例子
若要将作业的项目设置为作业标识符 为 47 到群集测试,请将作业的作业模板设置为 MyJobTemplate、作业的运行时限制为 30 分钟,并将作业的优先级设置为 AboveNormal,请使用以下命令:
job modify 47 /jobtemplate:MyJobTemplate /projectname:"Cluster Testing" /runtime:0:0:30 /priority:AboveNormal
若要指定作业的标识符为 98 的作业不应在当前日期的当地时间下午 10:00 之前开始运行,若要将作业的进度设置为 0,请将作业的状态消息设置为“保持”,并指定要在作业完成后收到电子邮件通知, 使用以下命令:
job modify 98 /holduntil:"10:00 pm" /progress:0 /progressmsg:"on hold" /notifyoncompletion:true