I have a custom Agent Pool with multiple Agents, each with the same capabilities. This Agent Pool is used to run many YAML build pipeline jobs called them A1
, A2
, A3
, etc. Each of those A*
jobs triggers a different YAML build pipeline job called B
. In this scheme, multiple simultaneous completions of A*
jobs will trigger multiple simultaneous B
jobs. However, the B
job is setup to self-interlock, so that only one instance can run at a time. The nice thing is that when B
job runs, it consumes all of the existing A*
outputs (for safety reasons, A*
and B
are also interlocked).
Unfortunately, this means that of the multiple simultaneous B
jobs, most will be stuck waiting for the first to finish after it processed all of the outputs of complete A*
jobs, and only then the rest of the queued and/or running but blocked on interlock instances of B
job can continue one at a time, with each having nothing to consume because all of the A*
outputs have already been processed.
Is there a watch to make Azure DevOps batch together multiple instances of job B
together? In other words, if there is already one B
job instance running or queued, don't add another one?