Resources

By default, Jobs and File Transfers are processed without Agent limitations. However, different tasks contain different statements, some of them being CPU consuming or having long runtimes. The Automation Engine has a resource concept that considers the Agent workload during processing.

Agents have a specified resource pool. With this concept, it is possible to define how many resources should be consumed during the execution of a Job or a File Transfer. As a developer and object designer, you assign resources to objects on their Attributes Page in the Consumption: ResourcesConsume <x> resources i field.

The resource concept does not specifically refer to CPU time or memory. The values that are specified as resources are abstract values which intend to provide a high level of flexibility for your configuration.

How it Works

A task starts when the Agent has sufficient resources to execute it. If it runs into insufficient resources, the status of the task changes to Waiting for resource. The task is executed when resources are available again. If there are several tasks waiting, the Automation Engine Priority decides which one should be processed first.

Example

An Agent has 100 resources available for Job executions. Three Jobs should be started.

Tasks that are waiting can be started at any time using either the Ignore Agent Resource command in the Tasks window or the MODIFY_UC_OBJECT script function. The current resources of the Agent are then ignored. Task resources are consumed and the Agent maximum resource value is exceeded in the short term.

Notes:

To Use the Automation Engine Resource Concept

By default, agents do not verify the resource settings of Jobs and File Transfers. If you intend to use the Automation Engine resource concept, you must first specify how many resources the Agents should provide:

  1. Log in to Client 0.
  2. Open the UC_HOSTCHAR_DEFAULT - Host Characteristics variable or any other Agent characteristics of your Agents if you use different variables.
  3. Enter the resources the Agent should provide in the WORKLOAD_MAX_FT and WORKLOAD_MAX_JOB keys.

    Entering -1 means that the resource setting of Jobs and File Transfers is ignored. It applies for the resource consumption of Jobs and File Transfers. This value can be changed as follows:

    1. Open the UC_SYSTEM_SETTINGS variable (UC_SYSTEM_SETTINGS - Systemwide Settings).
    2. Modify the values for the WORKLOAD_DEFAULT_FT and WORKLOAD_DEFAULT_JOB keys if a different default value should be specified.

Note: The resource consumption of Jobs and File Transfers that should not use the default value can be specified in the object Attributes Page. If you enter 0, the default value of the UC_SYSTEM_SETTINGS variable is used.

Special Case: Maximum Number of Tasks that Can Run Simultaneously

The Automation Engine resource concept can also be used to limit the number of tasks that may run simultaneously on an Agent.

As an administrator user, you can ensure that all Jobs and File Transfers consume resources of value 1 by specifying it in the UC_SYSTEM_SETTINGS variable. The default value of the variable is used only if Job and File Transfer objects have the value "0" specified as resource consumption. See UC_SYSTEM_SETTINGS - Systemwide Settings.

Now enter the maximum number of parallel tasks as the resource value in the variables for host (Agent) characteristics.

Each job and file transfer consumes one resource during its execution. Thus, the Agent resource value acts as the maximum number of tasks running in parallel.

Related Script Elements

See also:

Controlled Computer Restart - Best Practices