Job Condition Properties
The Job Condition Properties window is shown when you create or edit a Job Condition for a Job or Job Step.
Property Pages
Property pages common to all Conditions
General
Name for this condition (optional)
Optionally, enter a name for this condition.
Enabled
Check this box to enable the condition, or uncheck to disable it. A disabled condition will be ignored by adTempus.
Description/Notes
Optionally, enter an extended description or notes about this condition.
Condition Wait
The options on this page determine how adTempus waits for this condition.
Condition Wait
This option determines whether adTempus will wait for the condition to be met:
- Do not wait for condition to be met. If the condition is not satisfied the first time adTempus checks it for a given instance, adTempus treats the condition as "Failed."
- Wait until the condition is met. If the condition is not satisfied, adTempus will wait until it is satisfied. The job or step will show a status of "Waiting for Condition."
- Wait up to __ minutes for the condition to be met. adTempus will wait up to the specified time limit for the condition to be satisfied. If the condition is satisfied within that time limit, job execution will continue immediately (as depending on other conditions). If the condition is not satisfied at the end of the time limit, adTempus treats the condition as "Timed Out."
Condition Polling
This option determines how often this condition should be evaluated. In most cases you will use the default polling interval (about 30 seconds). You may wish to use a longer polling interval to reduce the load on adTempus in cases where checking a condition is resource-intensive (such as a Script Condition that does a large amount of processing).
When you set a polling interval for one or more conditions on a job or step, adTempus applies the longest polling interval to all conditions.
The server-wide default interval can be set through the Advanced Server Options window.
Once satisfied, do not re-evaluate when evaluating other conditions for this instance
This option determines how this condition behaves once it is met if the job or step also has other conditions that have not been met. adTempus will keep checking each condition until it is met or times out.
If this option is checked, adTempus will not check the condition again once it has been met. If the option is not checked, adTempus will keep checking the condition each time it checks the other conditions.
Suppose your job has two conditions:
- File c:\input\*.zip must exist.
- Job "Data Process" must not be running.
Both are configured to wait up to 10 minutes for the condition to be met, and the job is configured to wait until all conditions are met.
The first time it checks conditions, adTempus finds file c:\input\file1.zip, so the condition 1 is now met. Job "Data Process" is running, so condition 2 is not met. adTempus therefore must wait for condition 2 to be met, so 30 seconds later it goes to check the conditions again. During those 30 seconds, job "Data Process" has finished running (so condition 2 has now been met), but the file c:\input\file1.zip has been deleted.
If condition 1 has the Once satisfied... option checked, adTempus will not re-evaluate the condition, so it considers the condition to be satisfied even though the file no longer exists. The job is therefore triggered.
If condition 1 does not have the Once satisfied... option checked, adTempus will re-evaluate the condition and find that the file no longer exists. Condition 1 therefore is no longer satisfied, so adTempus will continue waiting until it is satisfied again, or until the wait time elapses.
Job Condition
These options determine which job the condition will wait for, and which instance of the job.
Depend on Job
Select the job to depend on. Only jobs that you have "List/Reference" permission for are listed. The job may be on the same computer as the job you are editing, or on a different computer. If the job is on a different computer, the other computer must be defined as a Linked Server in adTempus.
Only match jobs running on the same computer
When the job is in a Queue that uses Distributed Scheduling to run the job on more than one computer, check this option to have adTempus only look at the target job if it's running on the same computer. If this option is not checked, the condition may be satisfied by instances of the target job that run on other computers as shown in this table:
Job runs on Master or Agent? | Queue setting for condition evaluation location | Only match jobs running on the same computer? | Behavior |
---|---|---|---|
Master | * | Yes | Condition will only look at target job instances that run on the Master |
Master | No | Condition may be satisfied by target job instances that run on the Master or on any Agent | |
Agent | Master | Yes | Condition will only look at target job instances that run on the same Agent |
Agent | Master | No | Condition may be satisfied by target job instances that run on the Master or on any Agent |
Agent | Agent | * | Condition will only look at target job instances that run on the same Agent |
Rule
Specify the rule that the target instance must satisfy:
- Job must be running. The target job must currently be running.
- Job must not be running. The target job must not currently be running.
- Job must have succeeded. The target instance of the job must have completed with a successful result.
- Job must have failed. The target instance of the job must have completed with a failure result.
- Job must have completed. The target instance of the job must have run, but the result is not important.
- Job has not run. The target job must not have run. This rule can be used to take action if a job does not run on time.
- Job has not run successfully. The target job must not have run successfully. This rule can be used to take action if a job does not run on time.
Instance
Specify which instance of the target job adTempus should look at to see if the condition is met. The "Target Job" is the job that you selected in the Depend on Job section. The "Dependent Job" is the job that has the condition (the job you are currently editing).
The following instance rules are available:
- Most recent since previous execution of current job. adTempus will look at the most recent instance of the target job that executed since the last execution of the dependent job.
- Most recent since previous successful execution of current job. adTempus will look at the most recent instance of the target job that executed since the last successful execution of the dependent job.
- Most recent in cycle. adTempus will look at the most recent instance of the target job that has the same Cycle ID as the dependent job.
- Most recent instance since date/time specified in a Job Variable. adTempus will retrieve the current value of the specified variable (which must be defined as a Date/Time variable) and then look at the most recent instance of the target job that executed since that date/time.
- Most recent instance.adTempus will look at the most recent instance of the target job, regardless of when that instance executed.
- Any since previous execution of current job. adTempus will look at all instances that have completed since the last execution of the dependent job. If any of these instances matches the Rule, the condition will be satisfied.
- Any instance since previous successful execution of current job. adTempus will look at all instances that have completed since the last successful execution of the dependent job. If any of these instances matches the Rule, the condition will be satisfied.
- Any instance in cycle. adTempus will look at all instances of the target job that have the same Cycle ID as the dependent job.
- Any instance since date/time specified in a Job Variable. adTempus will retrieve the current value of the specified variable (which must be defined as a Date/Time variable) and then look at all instances of the target job that have executed since that date/time.
If you use one of the options based on the cycle, you must have Cycle IDs set up correctly as described in the Cycle ID topic.
See this this example for an illustration of the effects of the settings.
Ignore manual (on-demand) instances of job
When this option is checked, the condition will not look at any instances of the dependent job that were run on demand using the Run command when it is applying a "previous execution" rule.
Suppose you are editing job "Data Copy" and setting a condition that job "Data Extract" must have run successfully since the most recent instance of "Data Copy." During your normal schedule cycle, "Data Extract" runs at 7am, and "Data Copy" runs at 3pm.
Today, however, "Data Copy" was run manually at 8am.
At 3pm "Data Copy" is triggered and the condition is checked.
If the Ignore manual (on-demand) instances option is not checked, adTempus will see that the previous instance of "Data Copy" was at 8am. Since "Data Extract" has not been run since then, the condition will not be met, and "Data Copy" will not run.
If the option is checked, however, adTempus will ignore the 8am instance and see yesterday's 3pm instance as the most recent instance of "Data Copy." Since today's "Data Extract" job ran after that, the condition will be met, and "Data Copy" will run.