工作限制
限制给定池中作业的并发执行。 更多...
- 所有成员的列表,包括继承成员
- 工作限制是所有项目列表的一部分。
属性
详细信息
除了全局运行命令限制外,项目可能还想进一步限制某些类型的命令的并发执行,例如,因为这些命令不适合共享某些类型的资源。
在以下示例中,我们定义了一个规则,该规则在任何给定时间内,同一个项目中最多只能运行一个工具实例
Rule { // ... prepare: { var cmd = new Command("my-exclusive-tool", [project.buildDirectory]); cmd.description = "running the exclusive tool"; cmd.jobPool = "exclusive_tool"; return cmd; } } JobLimit { jobPool: "exclusive_tool" jobCount: 1 }
JobLimit
项可以出现在产品、项目和模块项内部。在发生冲突的情况下,即匹配相同作业池但设置不同值的项,定义在产品中的项具有最高优先级,定义在模块中的项具有最低优先级。子项目中定义的项比父项目中定义的项具有更高的优先级。对于具有相同优先级的项,选择最严格的项,即最低的作业号大于零的项。
另请参阅如何限制仅链接器的并发作业数量?。
属性文档
condition : bool |
确定作业限制是否活跃。
如果此属性设置为false
,则忽略作业限制。
默认值:true
jobCount : int |
给定作业池中可以同时运行的命令的最大数量。
零值表示“无限”,不允许负值。
注意:全局作业限制始终适用:例如,如果您为某个作业池设置此属性为100,并且命令行中指定了“-j 8”,则任何给定时间不会有超过八实例的命令从相应的作业池运行。
必须始终设置此属性。
默认值:未定义
jobPool : string |
应用限制的作业池。
此属性必须始终设置为非空值。
默认值:未定义
©2023 The Qt Company Ltd. 包含在此处的文档贡献归其各自的拥有者所有版权。本提供的文档根据由自由软件基金会发布的GNU自由文档许可协议版本1.3的条款进行许可。Qt及其相关徽标是The Qt Company Ltd在芬兰和其他国家的商标。所有其他商标均为其各自所有者的财产。