microsoft / microsoft/lage

[RFC]: WatchScheduler

Open
#375 0 comments 0 reactions 1 assignee View on GitHub

@kenotron is already working on this.

Since Sep 22, 2022.

dev design
Dominant language
TypeScript
Stars
816
Forks
88
PR merge metrics
No merged PRs in 30d

Description

Overview

We should expose a new scheduler that has the ability to invalidate parts of a target graph to trigger runs of targets and dependent targets on file system changes. Another detail is detecting changes of a graph itself if package.json files are moved around.

Goals & non-goals

Goals
  • let the WrappedTarget's status have states: modified, added, removed
  • modify upstream deps or wrap around it to execute the fn's correctly
  • may have to modify upstream p-graph to separate the queue running into a separate package
  • investigate whether we can leverage @lage-run/worker-threads-pool to execute runners rather than relying on p-graph
  • investigate whether the scheduling from p-graph needs to be moved out
Upstream Deps
  • p-graph: currently p-graph is the software that executes the task fn's in topological order

Test Plan

  • this is heavily unit testable, we should be able to utilize the different lage packages / upstream package node.js APIs to test out the functionality

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.