作业新

使用 HPC 群集上的指定设置创建新作业。

有关如何使用此命令的示例,请参阅 示例

语法

job new [/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>]]   
[/progress:<percent_progress>] [/parentjobids:<jobID_list>]   
[/priority:<priority_specification>][/progress:progress]   
[/progressmsg:<message>] [/priority:<priority>]   
[/projectname:<name>] [/requestednodes:<node1_name>[,<node2_name>…]]   
[/Runtime:{<time>|Infinite} [/rununtilcanceled[:{true|false}]]   
[/scheduler:<name>] [/singlenode:{true|false}]   
[/taskexecutionfailureretrylimit:<retry_limit>]   
[/validexitcodes:int|intStart..intEnd[,int|intStart..intEnd]*]   
  
job new {/? | /help}  

参数设置

参数 说明
/askednodes:<node_list> 已弃用。 请改用 /requestednodes 参数。
/corespernode:<min>[-<max>] 指定要将节点视为运行作业的候选节点的最小内核数(可选)。节点可具有的最大内核数。 作业不会在核心数少于最小值或内核数少于此参数指定的最大值的节点上运行。 如果群集中的所有节点都具有许多超出为此参数指定的范围的核心,则提交作业时将发生错误。 此参数的默认值为:

1. 最小值: 1
2. max:2147483647(最大整数值)
/customproperties:<property_list> 指定作业的自定义属性的名称和值,格式为 <name1>=<value1>[;<name2>=<value2>...]。自定义属性名称不区分大小写,并反映首次定义时使用的事例。 注意: 此参数是在 HPC Pack 2012 中引入的,在以前的版本中不受支持。
/emailaddress:<地址> 将此作业的通知发送到此电子邮件地址。 注意: 此参数是在 HPC Pack 2012 中引入的,在以前的版本中不受支持。
/estimatedprocessmemory:<内存 >) 估计此作业中的每个进程消耗的最大内存量(MB)。
/exclusive[:{true|false}] 指定 HPC 作业计划程序服务是否应在运行此作业时确保没有其他作业在与此作业相同的节点上运行。

值为 True 表示 HPC 作业计划程序服务应确保在运行此作业时,其他作业不会在此作业所在的同一节点上运行。

False 值表示此作业可以与其他作业共享计算节点。

在未指定值的情况下指定 /exclusive 参数时,作业新 命令的行为就像指定了 True 值一样。 如果未指定 /exclusive 参数,则 作业新 命令的行为就像指定了 False 值一样。
/faildependenttasks[:{true|false}] 如果任务失败或取消,则所有依赖任务都会失败。 如果未设置此参数,则默认行为为 false。

如果定义 /faildependenttasks 但未声明任何值,则假定为 true。 注意: 此参数是在 HPC Pack 2012 中引入的,在以前的版本中不受支持。
/failontahpailure[:{true|false}] 指定 HPC 作业计划程序服务是否应停止作业,并在作业中的任务失败时立即失败整个作业。

值为 True 表示 HPC 作业计划程序服务应停止作业,并在作业中的任务失败时立即失败整个作业。

False 值指示 HPC 作业计划程序服务应在作业中的任何任务失败后继续运行作业中的其余任务。

在没有值的情况下指定 /failontahpailure 参数时,作业新 命令的行为就像指定了 True 值一样。 如果未指定 /failontailure 参数,则 作业新 命令的行为就像指定了 False 值一样。
/holduntil:[{<DateTime>|<分钟>}] 指定在尝试启动作业之前 HPC 作业计划程序服务应等待的本地时间或分钟数的日期和时间。 如果未设置此参数,作业可以在资源可用时启动。

HPC 作业计划程序服务仅在此参数指定的日期和时间运行作业,指定作业所需的资源是否可用。 如果作业所需的资源在该日期和时间不可用,该作业将保持排队,直到必要的资源可用。

可以指定 .NET Framework 可以分析当前操作系统区域性的任何格式的日期和时间。 有关 .NET Framework 如何分析日期和时间字符串的信息,请参阅 分析日期和时间字符串

只要作业未运行或完成,就可以为作业指定 /holduntil 参数。 注意: 使用 /holduntil 指定的时间在内部转换为 UTC,并且不会反映本地夏令时。 如果使用分钟值,则它必须是整数。 应用作业新 时,保留分钟数将转换为 UTC。 如果 /holduntil 的值为空,则作业不会因该参数而挂起。 注意: 此参数是在 HPC Pack 2012 中引入的,在以前的版本中不受支持。
/jobenv:<variable_and_value_list> 指定要在作业的运行时环境中设置的环境变量以及要设置这些环境变量的值。 列表的格式应为 <variable_name1>=<value1> [;<variable_name2>=<value2>...]。

或者,可以通过包括多个 /jobenv 参数来设置多个环境变量,每个参数具有 <variable_name>=<值>格式的不同参数。

若要取消设置环境变量,请不要指定值。 例如,“<variable_to_unset_name>=”。

如果为作业设置或取消设置环境变量,则除非使用 作业的 /env 参数指定新设置来替代该任务的环境变量设置,否则该环境变量也会设置或取消设置。 注意: 此参数是在 HPC Pack 2008 R2 中引入的,在以前的版本中不受支持。
/jobfile:<路径>\<file_name> 指定作业 XML 文件的文件名和路径,该文件包含要用于要创建的作业的设置。 如果除了 /jobfile 参数之外指定其他参数,这些参数的值将替代作业 XML 文件中的设置。

仅当从 XML 文件导入作业时,才使用此参数。 在这种情况下,它是必需的。
/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)。 作业不会在内存小于最小值或内存大于此参数指定的最大值的节点上运行。 如果群集中的所有节点的内存量都超出为此参数指定的范围,则提交作业时会发生错误。

此参数的默认值为:

1. <分钟> 1
2. <最大> 2147483647 (最大整数值)
/nodegroup:<node_group_list> 指定此作业可在 [,<node_group2_name>...] <node_group1_name>格式运行的节点组的列表。 HPC 作业计划程序服务将资源从默认情况下属于列表中所有节点组的节点或由 /nodegroupop 参数操作产生的节点(如果指定)分配给作业。

如果为 /nodegroups/requestednodes 参数指定值,则作业仅在 /requestednodes 的节点列表中运行,这些节点也属于 /nodegroupgroup/nodegroupop 参数定义的节点列表。

/nodegroup 参数可确保有效节点列表中存在节点。 但是,如果无法从节点列表中满足上述参数的作业资源要求,则作业在作业提交过程中会失败。

如果为任务指定了参数 /requestednodes,并且作业 /nodegroups,则如果请求的节点未与 /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>] 指定作业所需的 HPC 群集中核心总数,<最低>[-<最大>]。 作业至少在最小内核数和最大值上运行。

如果只指定一个值,此命令会将最大和最小核心数设置为该值。

如果指定一个最小值,该值超过群集中可用的内核总数,则提交作业时会发生错误。

最小值和最大值只能是正整数或星号 \。 如果将最小值或最大值指定为星号,HPC 作业计划程序服务将根据作业中任务的最小核心数和最大核心数自动计算运行时的最小或最大核心数。

如果同时指定 /numnodes/numprocessors/numsockets 参数,则不能指定 /numcores 参数。 如果未指定这四个参数中的任何一个,则作业的资源类型默认为核心,并在运行时自动计算最小和最大资源,具体取决于作业中任务的最小和最大资源。
/numnodes:<min>[-<max>] 指定作业所需的 HPC 群集中节点总数,<最小>[-<最大>]。 作业至少在最小数目的节点上运行,并且不超过最大值。

如果只指定一个值,此命令会将最大节点数和最小节点数都设置为该值。

如果指定一个最小值,该值超过群集中可用的节点总数,则提交作业时会发生错误。

最小值和最大值只能是正整数或星号 \。 如果将最小值或最大值指定为星号,HPC 作业计划程序服务将根据作业中任务的最小节点数和最大节点数自动计算运行时的最小或最大节点数。

如果还指定 /numcores/numprocessors/numsockets 参数,则不能指定 /numnodes 参数。 如果未指定这四个参数中的任何一个,则作业的资源类型默认为核心,并在运行时自动计算最小和最大资源,具体取决于作业中任务的最小和最大资源。
/numprocessors:<min>[-<max>] 已弃用。 请改用 /numcores 参数。
/numsocket:<min>[-<max>] 指定作业所需的 HPC 群集中的套接字总数,<最小>[-<最大>]。 作业至少在最小套接字数和最大值上运行。

如果仅指定一个值,此命令会将套接字的最大和最小数目设置为该值。

如果指定一个最小值,该值超过群集中可用的套接字总数,则提交作业时会出现错误。

最小值和最大值只能是正整数或星号 \。 如果将最小值或最大值指定为星号,HPC 作业计划程序服务将根据作业中任务的最小和最大套接字数自动计算运行时的最小或最大套接字数。

如果同时指定 /numcores/numprocessors/numnodes 参数,则不能指定 /numsockets 参数。 如果未指定这四个参数中的任何一个,则作业的资源类型默认为核心,并且根据作业中任务的最小和最大资源在运行时自动计算最小和最大资源。
/orderby:<主>[,<辅助>] 指定 HPC 作业计划程序服务应使用的顺序,以 <primary_order>[,<secondary_order>] 格式将节点分配给作业。 值的primary_order和secondary_order部分可以是以下值之一:

- 内存
HPC 作业计划程序服务按节点的可用内存量对节点进行排序,并将作业分配给具有更多内存的节点。
- -memory
HPC 作业计划程序服务按节点的可用内存量对节点进行排序,并将作业分配给内存较少的节点。
- 核心
HPC 作业计划程序服务按可用核心数对节点进行排序,并将作业分配给具有更多核心的节点。
- 核心
HPC 作业计划程序服务按节点的可用内核数对节点进行排序,并将作业分配给先具有较少核心的节点。

指定辅助顺序时,HPC 作业计划程序服务会首先根据主要顺序对节点进行排序。 对于具有相同主顺序所指定资源的节点子集,HPC 作业计划程序服务随后使用辅助排序顺序对子集内的节点进行排序。 例如,如果指定 内存核心,则 HPC 作业计划程序服务将节点从最高内存量排序到最低。 然后,对于内存量相同的节点的子集,HPC 作业计划程序服务使用核心数来打破关系,并将内存量从最少的节点数到最多对具有相同内存量的节点进行排序。

主要顺序和辅助顺序必须引用不同类型的资源。 例如,内存核心 是主要排序顺序和辅助排序顺序的有效组合。 内存-memory-core、-core 等组合无效。

HPC 作业计划程序服务用于向作业分配节点的默认顺序是 核心内存
/parentjobids:<jobID_list> 指定作业 ID 列表,该作业将采用 <jobID1>[,<jobID2>...] 格式。

作业 ID 必须已存在。

HPC 作业计划程序服务仅在作业的父作业已完成且全部处于“已完成”状态时,才会计划作业。 如果任何父作业尚未完成或已完成,但处于“已取消”或“失败”状态,作业将保持排队状态。 注意: 此参数是在 HPC Pack 2012 中引入的,在以前的版本中不受支持。
/priority:<优先级> 指定计划作业的优先级。 从 HPC Pack 2008 开始,优先级值只能是以下命名值之一:最高值、AboveNormal、Normal、BelowNormal 或最低值。

从 HPC Pack 2008 R2 开始,可以使用 HPC Pack 2008 中使用的五个命名优先级值中的任何一个。 还可以使用介于 0 和 4000 之间的任意数字,将 0 用作最低优先级,将 4000 作为最高优先级。 还可以将优先级值指定为 named_value+偏移量named_value-偏移量。 出于这些最终格式的目的,命名优先级具有下表中的值,命名值和偏移的组合不能小于 0 或大于 40004000。

最高-
4000

AboveNormal
- 3000

正文
- 2000

BelowNormal -
1000

最低
- 0

作业使用的作业模板指定影响谁可以指定提升优先级的权限。

HPC 作业计划程序服务按照用户提交作业的顺序将具有相同优先级的作业放入作业队列中,除非用户重新排队作业。 如果用户重新排队作业,HPC 作业计划程序服务会将该作业放在具有相同优先级的作业中。

作业的默认优先级为 Normal 或 2000。
/progress:<percent_progress> 指定已完成的作业的百分比。 此值必须介于 0100之间。

如果未设置此属性的值,HPC 作业计划程序服务会根据作业完成的任务百分比计算进度。 为作业设置此属性时,HPC 作业计划程序服务不会继续更新此属性,因此必须使用 作业修改 命令继续更新属性。 注意: 此参数是在 HPC Pack 2008 R2 中引入的,在以前的版本中不受支持。
/progressmsg:<消息> 指定要为作业显示的自定义状态消息。 此字符串的最大长度为 80 个字符。

若要指定包含空格的状态消息,请将状态消息括在引号中()。 注意: 此参数是在 HPC Pack 2008 R2 中引入的,在以前的版本中不受支持。
/projectname:<名称> 指定可用于跟踪作业的作业的项目名称。

项目名称的最大长度为 80 个字符。
/requestednodes:<node_list> 指定作业可在 [,<node2_name>...] <node1_name>格式运行的节点的名称列表。 这些节点是作业的候选节点,但如果这些节点上的可用资源超过作业所需的资源,则并非所有节点都必须运行该作业。 HPC 作业计划程序服务根据 /orderby 参数的值分配顶级节点,直到分配的节点满足使用 /numcores/numsocket/numprocessors/numnodes 参数指定的值。

如果未指定 /requestednodes 参数,HPC 作业计划程序服务会将所有节点视为 HPC 作业计划程序服务可以分配给作业的候选节点。

如果为 /requestednodes/nodegroups 参数指定值,则作业仅在 /requestednodes 参数的节点列表中运行,该参数也属于使用 /nodegroupgroup/nodegroupop 参数定义的节点列表。
/runtime:{<时间> |Infinite} 指定作业应运行的最大时间。 作业运行此时间后,HPC 作业计划程序服务将取消作业。 以 [[<天>:]<小时>:]<分钟>格式指定时间量。 还可以指定 Infinite 以指示作业可以在无限时间内运行。

如果只指定 [[<天>:]<小时>:]<分钟> 格式,该命令会将指定的值解释为分钟数。 例如,12 指示 12 分钟。

如果指定格式的两个部分,该命令会将左侧部分解释为小时数,右侧部分解释为分钟数。 例如,10:30 指示 10 小时 30 分钟。

可以对格式的每个部分使用一个或多个数字。 每个部件的最大值为 2,147,483,647。 如果未指定 /runtime 参数,则默认值为 Infinite。
/rununtilcanceled[:{true|false}] 指定在运行时限制过期或有人取消作业之前,作业是否继续运行并保留资源。

值为 True 表示作业继续运行并保留资源,直到运行时限制过期或有人取消作业。 如果指定值为 True,则必须为提交作业时 /numcores/numnodes/numsocket 参数指定最小值和最大值。

值为 False 表示作业在作业中的所有任务完成后应停止并释放其资源。

在未指定值的情况下指定 /rununtilcanceled 参数时,作业新 命令的行为就像指定了 True 值一样。 如果未指定 /rununtilcanceled 参数,则 作业新 命令的行为就像指定了 False 值一样。
/scheduler:<名称> 指定要在其中创建新作业的群集的头节点的主机名或 IP 地址。 该值必须是有效的计算机名称或 IP 地址。 如果未指定 /scheduler 参数,此命令将使用CCP_SCHEDULER环境变量指定的头节点上的计划程序。
/singlenode[:{true|false}] 所有资源都将在一个节点上分配。 如果声明 /singlenode 但未设置任何值,则假定为 True。 如果未声明 /singlenode,则假定为 false。 注意: 此参数是在 HPC Pack 2012 中引入的,在以前的版本中不受支持。
/taskexecutionfailureretrylimit:<retry_limit> 指定此作业中除节点准备或节点发布任务以外的任务在应用程序执行失败后自动重新排队的最大次数。 注意: HPC Pack 2012 R2 Update 1 中引入了此参数。 它在以前的版本中不可用。
/validexitcodes:{int|intStart..intEnd{ [,{int|intStart..intEnd}]* 指定用于检查作业中的任务是否成功退出的退出代码。 /validexitcodes 必须由离散整数和以逗号分隔的整数范围指定。 此参数的默认值为 0。

最小最大 可用于范围,表示开始或结束。 例如,0..max 表示非负整数。

可以通过声明特定于任务的 /validexitcodes /validexitcodes 来重写此参数。 未显式声明此参数的所有任务都将从作业继承参数。

如果未定义 /validexitcodes,则 0 是默认有效的退出代码。 注意: 此参数是在 HPC Pack 2012 中引入的,在以前的版本中不受支持。
/? 在命令提示符处显示帮助。
/帮助 在命令提示符处显示帮助。

注解

在 HPC 作业计划程序服务可以运行新作业之前,需要使用 作业添加 命令将任务添加到作业,并使用 作业提交 命令提交作业。

示例

若要创建新作业,请使用以下命令:

job new  

若要使用 C:\JobFiles\SampleJob1.xml作业文件中的设置创建新作业,请使用以下命令:

job new /jobfile:"C:\JobFiles\SampleJob1.xml"  

若要在群集测试项目中创建名为“示例作业”的新作业,该作业使用名为 MyJobTemplate 的作业模板,且运行时限制为 30 分钟且优先级为 AboveNormal,请使用以下命令:

job new /jobname:"Sample Job" /jobtemplate:MyJobTemplate   
/projectname:"Cluster Testing" /runtime:0:0:30 /priority:AboveNormal  
  

若要创建优先级为 2350 的新作业,该作业将 VAR1 环境变量设置为 True,并将 VAR2 环境变量设置为作业运行时环境中的 12,请使用以下命令:

job new /priority:2350 /jobenv:VAR1=true;VAR2=12  

若要创建优先级为 Highest-50(3950)的新作业,该作业取消设置 VAR3 环境变量,并将 VAR4 环境变量设置为作业运行时环境中的“是”,请使用以下命令:

job new /priority:Highest-50 /jobenv:VAR3=;VAR4=yes  

若要创建一个新作业,该作业的进度百分比设置为 15,并且状态消息为“此作业有状态”,并将 VAR5 和 VAR6 环境变量设置为作业的运行时环境中为“否”,请使用以下命令:

job new /jobenv:VAR5=no /jobenv:VAR6=no /progress:15 /progressmsg:"This job has a status"  

若要创建新作业,请将任务添加到作业,然后提交作业,请运行包含以下命令的批处理文件,该批处理文件使用 for 命令获取新作业的标识符:

for /f "usebackq tokens=4 delims=. " %%i in (`job new`) do (  
job add %%i echo Hello World  
job submit /id:%%i  
)  

其他参考