proposal: decouple pipeline runner/executor from repro?
See original GitHub issueWe should decouple Pipeline management/runner/scheduler/executor stuff from the Repo which resides on repro.
It currently collects stages, builds a DAG, and then schedules the stage/task to run, and then runs them. The running part, which involves removing dependencies and outputs, checking some dependencies and outputs and running the command, and then saving the outputs later is all handled in the Stage.
Honestly, to me, running yourself, as in Stage executing itself does not really make sense. It feels like this could be part of the Pipeline management thing itself.
Why decouple?
Eventsthat we are discussing might make it difficult to hook into this, without a separate abstraction.exp runcallsdvc reprointernally, which is a porcelain command, which feels like a hack. Sharing a common codebase betweenexp runanddvc reprois better than one using the other, as this will help us change UI output for both easily without affecting one another.- We might be able to separate UI output messages from data management commands. This might force us to really separate this with yet another abstraction for data management commands.
- Decoupling is always a good thing?
This might also open us a few opportunities to:
- Run stages concurrently?
- Provide hooks for runners rather than using env variables and signal files? I guess this is a “nice to have” thing.
- Provide ways to handle outputs from the stage commands intelligently (as in, we might be able to suppress outputs from commands if required or place them in files, show them only when command errors out, etc.) and interactively.
- Handle runtime contexts easily.
Issue Analytics
- State:
- Created 2 years ago
- Reactions:3
- Comments:8 (1 by maintainers)
Top Results From Across the Web
Decoupled Pipelines: Rationale, Analysis, and Evaluation
Abstract. This paper analyzes the potential of asynchronous, decoupled pipelines from an architectural viewpoint. Previous work in this area has been ...
Read more >Decoupling Policies: Options to Encourage Energy Efficiency ...
A well-designed decoupling plan helps keep utility profits steady and customers' energy costs in check—and it removes the disincentive for utilities to promote....
Read more >3 carbon capture pipelines proposed in Iowa
Three companies have proposed building multibillion-dollar pipelines across Iowa to move carbon dioxide so it can be sequestered deep ...
Read more >Joint European action for more affordable, secure energy
The European Commission has today proposed an outline of a plan to make ... via higher Liquefied Natural Gas (LNG) and pipeline imports...
Read more >EU's top executive backs price cap on Russian pipeline gas
... that the bloc's electricity market “is no longer operating” amid the Ukraine war, and proposed a price cap on Russian pipeline gas....
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found

@RomanSteinberg this discussion is regarding DVC code organization/modularity. The suggested changes would not affect any existing DVC commands from the user perspective
We have a stage executor experiments executor and maybe sometime later a remote executor. Any possibilities to merge them ?