I've been searching for days on how to layout a rundeck workflow with job dependencies. what I need to do is to have 3 jobs
: job-1
and job-2
are scheduled to run in parallel while job-3 will only be triggered after the completion of both job-1
, and job-2
. assuming that job-1
and job-2
have different execution times.
I tried using job state conditionals to do that but it seems that the condition if not met will halt or fail only. My idea is to halt the execution until all the parent jobs completes and then resume the workflow.
Rundeck cannot do this for you automatically. You can set a scheduler for job-3 to run after the max timestamp of job1 or job2. Enable "retry" for job3 incase the dependencies would be fail.
You can achieve this by compiling a master job which includes 2 steps:
- step: job-1 and job-2 as a sub-job which includes both (run in parallel if node oriented execution is selected)
- step: job-3
But not all 3 in in the same flow.
Right now you can use Job State Conditional feature for that: https://docs.rundeck.com/2.9.4/plugins-user-guide/bundled-plugins.html#job-state-plugin