Reduce busy work in main job loop
What does this MR do?
Reduce busy work in main job loop
Re-orders the checks before executing a job. We now:
- Check to see if we're at the runner limit
- Check job request concurrency and "hold" a job request
- Check to see if executor provider has capacity
- Create session server
- Perform job request
- Release "hold" for job request
Why was this MR needed?
What's the best way to test this MR?
What are the relevant issue numbers?
Closes #38570 (closed)