Resource Object
This section describes the purpose of the Resource object and its properties. Below you will find a general overview, followed by a detailed description of Resource Properties, as they appear in the various Resource categories (tabs).
A Resource is a shared object that can be used (associated with) multiple Jobs and Plans. The object is used when creating a Resource Constraint. A constraint is a condition that must be met before a triggerable object (Job or Plan) can be dispatched to run. A Resource is either a static numeric value that you assign to the Resource object, which ActiveBatch then controls, or it is a dynamic numeric value that may, or may not, be under ActiveBatch's sole control.
Using examples is the best way to describe Resource object usage. Let's look at the two types below, starting with the static (constant) Resource.
-
A constant Resource is a constant numeric value that you specify, and it remains the same unless you change it on the object definition. However, its usage as tracked, as described in the example below.
-
Example:
-
You have 10 Jobs that access a specific software product for which you have licensed. The terms of the license specify that only 5 Jobs can run at the same time, to remain in license compliance.
-
To make sure you never exceed the running Job limit of 5, you can create a Resource object named "Licensed Apps” and assign it a constant value of 5.
-
Next, you would add a Resource Constraint to the 10 Jobs that use the licensed software, and configure it such that it uses the Resource Object, where each Job needs 1 unit to run.
-
When a Job configured with this Resource Constraint triggers, the Scheduler will see if any of the 5 units are available. If a unit is available, the Job is allocated 1 unit (satisfying the constraint), and the Resource object's available count is reduced by 1. The Job "keeps" the unit until it completes (success, failure or aborted). After Job completion, the unit is returned to the Resource Object, increasing the count by 1. In summary, a Resource Object's units are reduced by 1 while a Job is active , and then increased by 1 when the Job completes.
-
If all 5 units are allocated to 5 running instances when another Job triggers that is configured with this constraint, the Job will wait for a unit to become available - or the Job will fail, depending on properties set on the constraint.
-
-
-
An active variable (dynamic) Resource is initialized from a built-in data source, and while its usage is tracked, the Resource may (optionally) be re-populated over a time period. The data sources you will see when configuring an active Resource are the same data sources supported by
.-
Example:
-
You have a Job that needs a certain amount of disk space on the
system in order to run properly. Since programs other than those launched by ActiveBatch allocate space on the drive - a constant Resource won’t work. -
To make sure there is enough disk space, you can create a Resource object named C_FreeSpace that uses an active variable WQL SELECT statement to obtain the current amount of free space on drive C.
-
Next, you would add a Resource Constraint to the Job that needs the disk space checked, and configure it such that it uses the Resource object, and specify how many units it needs.
-
When the Resource Constraint Job triggers, the system will check if there are enough units to allocate to the Job. If there is, the Job's constraint will be met, and the amount of units needed by the Job will be reduced (subtracted) from the Resource object. It is reduced to ensure, at that moment, that the Resource amount is still accurate.
-
The return of units to the Resource object, (after the Job completes) depends on whether you have enabled the re-evaluation property of the Resource object.
-
When re-evaluation is enabled, the Scheduler will re-evalaute the Resource object (in this case, the amount of free disk space), every "x" seconds, where seconds is defined using the "Expires in" property. The intent is to ensure the most accurate number for the Resource object being used. When a Resource has this property set, the units are not returned to the Resource object after the Job completes, because the Resource object's value will be updated after the re-evaluation takes place.
-
For example, assume you choose to re-evaluate the amount of free disk space. If the Resource object had an initial value of 100,000,000 and JobA needed 5,000,000, the resulting Resource object would be reduced to 95,000,000. When the Job completes, the 5,000,000 resource units are not returned to the Resource object, because the re-evaluation option is enabled and will likely yield a more accurate value.
-
-
When re-evaluation is not enabled the Resource is set one time. The Resource object is subject to subtracting the value when the units are allocated for the Job, then returning the units back to the Resource object when the Job is complete. This is the same behavior when using a constant Resource object value. The only difference is the initial value for the active Resource came from an active variable, not a constant value entered by the user.
-
Note: An active variable Resource object soley under ActiveBatch's control should not be set for a timed re-evaluation (Never should be selected). An active variable Resource object not under ActiveBatch's sole control (like the above example - where the value can change due to influences outside of ActiveBatch) should be set for a timed re-evaluation - (Expires in should be selected/configured).
-
-
To create a Resource object, right-click on the desired container (Scheduler root, existing Folder or Plan) in the Object Navigation Pane, select New, then select Resource. When you’ve completed the Resource property settings, you must click the Save or the Save and Close button to save the Resource. Click the X on the tab of the New Resource if you wish to cancel the creation of the Resource. When you save the Resource, it will instantly appear in the Object Navigation pane (if auto refresh is enabled). To modify an existing Resource, right-click on the Resource in the Object Navigation pane, then select Properties.
General
This tab allows you to name and describe the Resource object.
![]()
Name: This mandatory property represents the name of the object. The name is limited to 128 characters. The object’s name should be unique to avoid confusion. We recommend that it also be somewhat descriptive so it’s easy to find. The name is used (by default) to identify the object in the Object Navigation pane and other places in the UI. This can be changed to the label, if desired. See "Display Mode" in the General Settings
Label: Every object must be uniquely labeled within the scope of the namespace. The label is limited to sixty-four (64) characters. The label is typically the same value as the name (it is auto-filled to match the name you enter); however, uniqueness is always enforced for an object’s label. The label is recorded in the ActiveBatch namespace. The characters that may be used for the label property are restricted to alphanumeric (A-Z, a-z, 0-9), space, period (.), dash (-) and underscore (_). The label itself must begin with an alphabetic character. The label is typically used when scripting. All searches are case-insensitive. ActiveBatch does allow you to search for objects using either the label or the name properties.
ID: This is a unique read-only number that can be used to retrieve the object. Is it assigned by the system when a new object is saved.
Full Path: This read-only property provides the full namespace specification of the object. It consists of the container(s) the object has been placed in, with the object’s label appended to the end. For example, the fullpath: /IT Jobs/Nightly Run/<object label>, is such that IT Jobs is a root-level Folder, Nightly Run is a Plan, followed by the label of the object you are creating.
Description: This free form property is provided so you can document and describe the object to others. The description is limited to 512 characters. Clicking on the pencil icon will pull up a mini text editor where you can more easily enter your description.
State: This field indicates whether the object is enabled or disabled for use.
Read Only: This checkbox, when enabled, means the Resource’s properties cannot be changed. You must have “Modify” access permission to the Resource object to set this feature. To clear the read-only attribute, uncheck the box.
Properties
This tab allows you to define the Resource.
![]()
Resources can be based on a constant value (static), or an active variable type (dynamic) populated from a data source.
Expression: If this radio button is selected, the Resource is based on a constant value. It will be initially populated and then managed by ActiveBatch. That is, the Resource will be allocated to a Job when available, and returned back to the Resource pool when the Job completes.
Active Variable: If this radio button is selected, the Resource is populated from a data source. The Resource can be populated more than once depending on the “Re-evaluation Rule”. The data source specification is identical to that of an active variable. Clicking on the Active Variable dropdown arrow produces a list of data sources available. Select the desired variable and configure it accordingly.
Note: You must select an Active Variable that returns a number. Non numeric return values are not supported.
Credentials: All ActiveVariables are executed under established and explicit security credentials. The dropdown lists the existing User Account objects that you can select from. The two buttons to the right of the Credentials property allow you to manage and/or create User Account object(s). If you opt to create new credentials, the User Account object's Credential Type property should be "Username/Password".
Re-evaluation Rule: A Resource can be re-evaluated to see what its current value is. You have two choices regarding the Re-evaluation Rule, described below.
If Expires in is greater than zero (0) seconds, the Resource is re-evaluated every n seconds.
If Never (Set once only) is specified, the Resource is populated only once.
See the example toward the top of the page, under the active variable (dynamic) Resource heading, for more details about the re-evaluation rule.
Analytics
The Analytics properties are depicted in the image below. This section details any changes made to the Resource object, and provides you access to the object's revision history.
![]()
You can examine the audit trail for the object. The audit trail contains information such as when the Resource object was created, when it was modified, etc.
The Audits panel includes controls that allow you to filter the audits based on start and end dates. You can also limit the audits retrieved to a maximum number. The refresh button allows you to retrieve any audits that were generated after this dialog was initially displayed.
Each audit is contained in a single line in date and time sequence. Audits are read-only and cannot be modified. An icon appears at the beginning of each audit to help visually signal the severity of the audit. If an
has been established, you will see an additional comment icon to the right of the severity icon. If you mouse over the comment icon, the system will display the audit information as a tooltip.
Opening an audit item (by double-clicking on the item), depending on the nature of the audit, will sometimes reveal additional information concerning the audit.
The Copy to Clipboard button copies the contents of the retrieved audits into a copy buffer that you can later paste into a document or other program.
The Print button allows you to print the retrieved audits.
The Revision History button allows you to select one or more audits concerning changes made to an object and perform a difference operation between the selected revised objects.
Security
This tab is where object security is configured. Security in ActiveBatch mirrors how security is granted using Windows security. That is, permissions applicable to the object (Read, Write, Modify, Delete, etc.) are Allowed or Denied for the Active Directory users and/or groups assigned to the object.
![]()
When new objects are created, they will either be assigned
security, or the factory default security will be overridden by a .
When a default policy has been used to preset object security, the new object will either have:
The Inherit Security from Parent Object property checked (it is not checked by default). When checked, the listed users and/or groups along with their permissions granted will be read-only. The Add and Remove buttons will be disabled because security is being inherited from the object's parent container. When Inherit Security from Parent Object is checked, it is likely the ActiveBatch Administrator will be setting up security on parent container(s), and the Job author will not have to modify anything about security. This would require a larger discussion with an ActiveBatch Administrator who it typically tasked to manage object security, since there are options.
The Inherit security from Parent Object property is not checked. The users and/or groups are listed along with their permissions granted, but there is likely some differences when compared to the factory default security, since the purpose of setting a default policy for security is to add Active Directory groups and/or users (and their access permissions) that are specific to your organization. Since Inherit Security is not checked, the Add and Remove buttons will be enabled. When this is the case, Job authors will need to be advised if there needs to be any changes made to security when they create new objects.
As a best practice, it is best for an ActiveBatch Administrator to preset security using a default policy (for all object types) so Job authors do not have to manage security, which can be time consuming and error-prone. See the ActiveBatch Installation and Administrator's Guide for more best practice information regarding object security.
Below is a list of permissions related to this object.
Access Description Read
User is allowed to read the object.
Write
User is allowed to write the object.
Modify
User is allowed to modify the object (Read + Write)
Delete
User is allowed to delete the object.
Use
Account is allowed to use the object.
Manage
Account is allowed to perform Enable/Disable operations.
Take Ownership
User is allowed to take ownership.
Change Permissions
User is allowed to change permissions for the object.
Full Control
All of the above access is enabled.
The owner of an object is always granted Full Control by the system, and their permissions cannot be changed or reduced. If another user takes ownership, then the original owner's access will depend on how security is set up (if they are a user or group that has been given access). The new owner will automatically be granted Full Control, and once again, their permissions cannot be changed or reduced.
To take ownership, you will need to be granted the Take Ownership permission. Click the Take Ownership button and confirm the action. Another way to take ownership is to right-click on the object in the Object Navigation pane, then select Advanced > Take Ownership.
To modify security, you need "Change Permissions" security granted.
The Deny permission is generally used for users who have been granted access based on a group membership, but there is a need to override this for a particular user. Deny takes precedence over Allow.
Below you will find the instructions on how to modify security when Inherit Security from Parent Object is not checked.
To edit an existing account, select the listed user or group, then change the permission using the Permissions list box (Allow or Deny access).
To remove an existing account name, select the listed user or group and click the Remove button.
To add a new user or group, click the Add button and follow the dialog as depicted in the image below.
![]()
The dialog is similar to that of other Windows objects, and leverages Active Directory services. The Locations button allows you to select either the Job Scheduler machine or any applicable domain. Clicking the Advanced button allows you to search for specific users and/or groups. Alternatively, you may enter object names (a user or group) in the large edit box. Clicking the Check Names button allows you to validate the accounts. Click the OK button to add the selected Account to the object’s security list.
Status of the Resource object (Total Units / Available Units)
To see the current status of a Resource, click on the Resource object and examine the current state of the Resource object via the Properties pane. See the image below. Observe that 13 units are available out of a total of 15.
![]()
Alternatively you can right-click on a container where Resource object(s) have been placed. Then select View>Browse>Resource Objects. The results will be tabbed in the Main view, as depicted in the image below.
![]()
Evaluate Now
Selecting the “Evaluate Now” operation causes the Resource’s active variable data source to be immediately re-evaluated, regardless of any timed or lack of timed-base settings.
To access this feature, navigate to the desired Resource object in the Object Navigation pane. Right click on it, then select Evaluate Now. This will force the reevaluation of the Resource, in between intervals.
See the image below that depicts this.
![]()