关于并发任务数上限

为了避免 TaskMan 超负荷运转,可以限制同时执行的任务总数。可以使用三个字段来完成此操作:

  • 内联网表单上的并发任务数上限并发报告任务数上限
  • 后台任务定义表单上的最大并发数量
注意: 如果提交了一项任务,但当前运行的任务达到了最大数量,该任务将进入到队列中,并在出现可用的时间点时立即接受处理。

并发任务数上限字段用于定义可以在当前的配置中同时运行的所有任务(包括报告任务)的最大数量。如果提交了一项任务,TaskMan 只会在当前运行的任务总数小于该数值时处理这项任务。

如果 TaskMan 在监控多个配置,各个配置的任务最大数量的总和就定义了这项特定的 TaskMan 服务能够处理的任务最大数量。例如:

TaskMan 在监控两个配置:C1 和 C2

C1 的并发任务数上限:10

C2 的并发任务数上限:20

此 TaskMan 实例的并发任务数上限:10 + 20 = 30

  • 如果 C1 上在运行 10 项任务,C1 将由于达到了自己的限制值而无法再运行任何任务,即使 TaskMan 还能够再处理 20 项任务。
  • 如果 C2 上在运行 20 项任务,C2 将无法再启动更多的任务,但 C1 可以启动最多 10 项任务。

并发任务数上限字段用于定义可以在当前的配置中同时运行的报告预览或打印报告任务的最大数量。如果提交了一份报告或报告预览,TaskMan 只会在当前运行的报告预览或打印作业总数小于该数值时进行处理。

注意: TaskMan 分别跟踪报告预览和打印报告任务。这表示,如果将该字段设置为 20,可以同时处理最多 20 个报告预览和 20 个打印报告任务。

由于报告任务是所有任务的一个子集,因此并发报告任务数上限应小于或等于并发任务数上限。如果允许的报告数量超过任务总数,TaskMan 会将报告数量限制为任务最大数量。例如:

并发任务数上限:10

最多并行报告任务数:20

  • 如果提交了 20 份报告,只运行 10 份报告,因为这就是任务的最大数量。
  • 如果提交了 20 份报告,但有 5 项任务已经在运行,系统只会立即处理 5 份报告。

如果 TaskMan 在监控多个配置,那么将 TaskMan 监控的各个配置中当前运行的报告任务数量相加,即可计算出各个配置中当前运行的报告任务数量。例如:

TaskMan 在监控两个配置:C1 和 C2

C1 的最多并发报告任务:10

C2 的最多并发报告任务:20

C1 上当前运行的报告数量:5

C2 上当前运行的报告数量:3

C1 上可以运行的报告任务数量:10 - (5 + 3) = 2

C2 上可以运行的报告任务数量:20 - (5 + 3) = 12

例如:

最大并发数量字段用于限制一项特定的任务能够同时运行的次数。例如:

并发任务数上限:10

最多并行报告任务数:5

ABCAnalysisRpt 任务的最多并发数量:1

  • 如果当前没有运行任何任务,而且您将 ABCAnalysisRpt 报告任务提交了两次,则只会立即处理其中的一项任务。
  • 如果当前在运行五项报告任务,而且您提交了 ABCAnalysisRpt 报告任务,该任务只会在这五项已经在运行的任务之一结束之后才开始运行。
  • 如果正在运行八项基本任务和两项报告任务,而且您提交了 ABCAnalysisRpt 报告任务,该任务将不会立即运行,即使可用的五项报告任务中只有两项任务在运行,原因在于已经达到所有任务的总数。