Details

    • Similar Issues:

      Description

      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
      

        Attachments

          Activity

          astraw38 Ashley Straw created issue -
          astraw38 Ashley Straw made changes -
          Field Original Value New Value
          Description 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:

          {noformat}
          parallel (
              { build('job1')
                 build('job2')},
              {build('job3')}
          )
          build('job4')
          {noformat}

          In the above, job4 would require job1, 2, and 3 all to complete. Instead:

          {noformat}
          async(build('job3'))
          build('job1')
          build('job2')
          build('job4')
          {noformat}

          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.
          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:

          {noformat}
          parallel (
              { build('job1')
                 build('job2')},
              {build('job3')}
          )
          build('job4')
          {noformat}

          In the above, job4 would require job1, 2, and 3 all to complete. Instead:

          {noformat}
          async(build('job3')) //Long-running job, doesn't interfere with some other builds
          build('job1')
          build('job2')
          build('job4')
          {noformat}

          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.

          {noformat}
          job3 = async(build('job3'))
          build('job1')
          build('job2')
          build('job4')
          await(job3, build('job5')) // Requires some data from job3 before executing
          {noformat}
          batmat Baptiste Mathus made changes -
          Assignee Nicolas De Loof [ ndeloof ] Damien Nozay [ dnozay ]
          dnozay Damien Nozay made changes -
          Assignee Damien Nozay [ dnozay ]
          rtyler R. Tyler Croy made changes -
          Workflow JNJira [ 168182 ] JNJira + In-Review [ 182998 ]

            People

            • Assignee:
              Unassigned
              Reporter:
              astraw38 Ashley Straw
            • Votes:
              2 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated: