-
Improvement
-
Resolution: Unresolved
-
Minor
-
None
As an alternative to creating parallel blocks, it'd be very useful to have an async build option. That way, you don't have to depend on all jobs within one side of the parallel block to finish before going on to the next step:
parallel ( { build('job1') build('job2')}, {build('job3')} ) build('job4')
In the above, job4 would require job1, 2, and 3 all to complete. Instead:
async(build('job3')) //Long-running job, doesn't interfere with some other builds build('job1') build('job2') build('job4')
Would allow Job3 to 'run in the background' of all other jobs. This could be synced with an 'await' too, that wouldn't launch a job until a certain prior job has completed.
job3 = async(build('job3')) build('job1') build('job2') build('job4') await(job3, build('job5')) // Requires some data from job3 before executing