If a job has a condition (e.g. s(JobA)&s(JobB,4) AND a start_times (e.g. 03:00), will the job only ever run on the start_times specified, or will it treat the start_times value as a precondition?
I think it's the latter. Here's a scenario: jobC is set to run at 03:00 on s(JobA)&s(JobB,4).
18:00: JobA completes successfully. One down.
21:00: JobB completes successfully.
03:00: start_times is satisfied but because JobB has a lookback window, that condition is not satisfied.
05:00: JobB completes successfully.
05:00:05: JobC begins, because only now are both job conditions and the time condition met.
I had originally expected that nothing would happen at 5:00 because the start_times said 03:00 and it was no longer 03:00. My testing does not appear to bear that out. Can someone confirm that my test results above are the expected outcome?
The behavior you are describing seems correct.
At 5:00 when JobB completes successfully the scheduler will look at any jobs which are dependent upon JobB and evaluate the starting conditions of those jobs.
In the case of JobC the start_time condition is met because it is at least 03:00, the dependency on JobA is met since it is in a success state, and the condition of JobB (with a look back of 4) is met because the job is in the success state within the look back range.
There are a couple of other options that we can throw into the mix (depending on the WAAE version)
- must_start / must_complete
- look back
- Box Jobs
I personally have found that Global Variables are very useful in controlling job streams.
NOTE: If you force start a job it will run the job regardless of any other conditions.
Senior Support Engineer