Consider one Azure agent (self-hosted in my case). Multiple pipelines have access to it and everything works quite well as long as the load is not high. That is, the oldest jobs are executed first, keeping everything a nice FIFO.
However, when the pipelines are under heavy load I see that one pipeline seems to take preference, starving the other pipeline runs. I can manually fix it by clicking "Run next" so a starved pipeline gets to run next. But I'd like to avoid manual procedure, as it's hard to reconcile with the idea of an automated build.
If multiple pipelines have jobs available for one azure agent, which job is run first? Can I change this scheduling somehow?
Research
There's a similar question about which agent is used, if it's the other way around: multiple agents available for one job. It's the oldest agent according to some Reddit thread. In my case, the more recently created pipeline takes precedence.
The docs mentions that agents poll for new jobs. So I grep for poll, job, etc. in _work and _diag, but the matches seem not to be related with the job mentioned in the docs. So I'll next start inspecting network traffic, but I assume the decision for the job is done by the backend of Azure anyways.