OperationalBina / PipeRT

MIT License
11 stars 7 forks source link

Add a pipeline manager #27

Closed sionovd closed 4 years ago

sionovd commented 4 years ago

We should consider adding some sort of a "master component" which would manage the pipeline.

A few examples for how it could benefit us:

MayoG commented 4 years ago

The way we are going to manage the pipeline:

One class called PipelineManager that contains Components.

Each Component will contain:

You will be able to add routines and components at run time and starting them. For now we will have a cli that will communicate with the PipelineManager using zerorpc server but we are working on more user friendly gui.

we decided to do this like this because:

  1. It makes the pipeline more dynamic at runtime
  2. It makes it easier to maintain for the long term (survivability)
  3. It makes it easier to add more routines without changing existing code(Open/Close principle, decoupling)
  4. We won't need the zerorpc for each component because they will be saved inside the PipelineManager.

side notes:

Questions / suggestions for improving are welcome :)