Skip to content

Latest commit

 

History

History
58 lines (32 loc) · 3.93 KB

File metadata and controls

58 lines (32 loc) · 3.93 KB
graph LR
    ExecutorStrategy["ExecutorStrategy"]
    GraphContext["GraphContext"]
    NodeContext["NodeContext"]
    BaseContext["BaseContext"]
    ExecutorStrategy -- "initiates and drives" --> GraphContext
    GraphContext -- "manages and orchestrates" --> NodeContext
    GraphContext -- "exchanges data with" --> NodeContext
    GraphContext -- "inherits from" --> BaseContext
    NodeContext -- "inherits from" --> BaseContext
Loading

CodeBoardingDemoContact

Details

The Bonobo execution engine orchestrates ETL pipelines through a hierarchical context management system. The ExecutorStrategy serves as the entry point, initiating and driving the GraphContext. The GraphContext acts as the central orchestrator, managing the overall graph execution state and overseeing the lifecycle of individual NodeContext instances. NodeContext components are responsible for executing specific graph nodes, handling their input and output, and performing data transformations. Both GraphContext and NodeContext inherit foundational capabilities from BaseContext, ensuring consistent lifecycle management and error handling. Data flows between GraphContext and NodeContext as input is dispatched and processed output is returned, facilitating the sequential and coordinated execution of the ETL pipeline.

ExecutorStrategy

This component defines and initiates a specific execution strategy for a Bonobo graph (e.g., single-threaded, multi-threaded). It serves as the high-level entry point for running an ETL pipeline by creating and starting the GraphContext, applying the chosen execution strategy to the graph.

Related Classes/Methods:

GraphContext

This is the primary orchestrator of the Bonobo graph's execution. It manages the overall graph state, initializes and oversees the lifecycle of individual NodeContext instances, dispatches events, and ensures the correct sequence and coordination of data processing stages. It embodies the "orchestrator" and "scheduler" aspects of the Execution Engine.

Related Classes/Methods:

NodeContext

Manages the execution lifecycle of a single node (function or generator) within the Bonobo graph. It handles the node's input and output, performs the actual data transformation logic, manages node-specific error states, and ensures data type consistency. It is a managed component, orchestrated by GraphContext.

Related Classes/Methods:

BaseContext

Provides a common foundational interface and implementation for all execution contexts (GraphContext, NodeContext). It manages fundamental lifecycle states (start, stop, kill), status tracking, and basic error handling, ensuring consistent context management across different levels of execution within the engine.

Related Classes/Methods: