Skip to content

Add docs about Scheduler #11672

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

YuliiaKovalova
Copy link
Member

@YuliiaKovalova YuliiaKovalova commented Apr 3, 2025

This document describes MSBuild Scheduler on high level.
Related to #11701

@Copilot Copilot AI review requested due to automatic review settings April 3, 2025 12:56
@YuliiaKovalova YuliiaKovalova changed the title Add docs about scheduling Add docs about Scheduler Apr 3, 2025
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces a comprehensive documentation page outlining the architecture and scheduling mechanics of the MSBuild Scheduler.

  • Added a detailed overview of the request lifecycle including Submission, Scheduling, Execution, Completion, and Result Processing.
  • Documented core components such as SchedulableRequest, BuildRequest, Scheduler, and caching systems along with various scheduling algorithms.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2) Project References: Which projects reference other projects
3) Configuration Maps: How project paths map to configuration IDs

This data is saved at the end of a successful build, typically in a file with extension `.buildplan`, so it can be used to make better scheduling decisions in future builds.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does this really happen? I see that some code for .buildplan files exists but I have never seen it

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:)
#11673

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe mention MSBUILDENABLEBUILDPLAN in the doc?

Copy link
Member

@AR-May AR-May left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for adding those docs, it is very helpful!


![MSBuild Scheduler Schema](./schedulableRequest_parent_relationships.png)

If the parent is absent, meaning a schedulable request doesn't have any dependencies, the request will have `parentRequest = null`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"If the parent is absent, meaning a schedulable request doesn't have any dependencies" - this does not seem right. If the project has no dependencies, the request will not have children, not parents.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants