Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Note that it is possible that some tasks that were in the process of trigger acquisition by the Quartz Scheduler (the underlying task scheduling mechanism) would be started on "disallowed" node if they are scheduled to run shortly after the limitations change. But this transition should take only a few seconds during normal circumstances.

Availability

This feature is available since v3.7devel-283-gb2fee07. Note that it is necessary to apply database migration scripts because of two new attributes in Quartz tables.

 

Static limitations definition

Starting from midPoint 4.0, these limitations can be defined also statically in config.xml or using analogous method via -D  cmdline switch. They are applied on midPoint startup: they overwrite any information present in the node object. If the node object is changed afterwards, these settings are applied, but are discarded on following start of midPoint.

An example:

Code Block
<configuration>
  <midpoint>
    <taskManager>
      <taskExecutionLimitations>admin-node:2,sync-jobs,#:13,_:40</taskExecutionLimitations>
      ...
    </taskManager>
    ...
  </midPoint>
</configuration>

Or, the same via command line:

Code Block
... "-Dmidpoint.taskManager.taskExecutionLimitations=admin-node:2,sync-jobs,#:13,_:40"

The format is:

  1. individual items are separated by comma characters;
  2. an item is in the form of:
    1. <group>:<n> (meaning a limit of n for this particular group)
    2. or <group>:* (meaning no limit for this particular group)
    3. or <group> (meaning no limit for this particular group),
  3. where group is either a specific name, or
    1. # denotes current node name,
    2. _ denotes blank group name (i.e. tasks in default - unnamed group),
    3. * denotes tasks in any other named group.

So, the above example of admin-node:2,sync-jobs,#:13,_:40  means:

  • 2 threads for tasks in admin-node group,
  • unlimited threads for tasks in sync-jobs  group,
  • 13 threads for tasks in group equal to the current node name,
  • 40 threads for tasks in unnamed group,
  • plus the default setting of 0 threads in any other named group.

Example 2: The usual default settings can be written as _,#,*:0 or, perhaps more expressively, as _:*,#:*,*:0.