Skip to content

Relationships

Felix Bole edited this page Mar 20, 2025 · 1 revision

Relationships

Monitoring and Reporting

  • Description: How monitoring and reporting entities interact.
  • Details:
    • MonitoringAgent creates ReportingAgent instances.
    • ReportingAgent emits signals to update MonitoringAgent’s workflow.

Node Management

  • Description: How nodes are managed within the library.
  • Details:
    • NodeSupervisor creates and manages Nodes.
    • NodeStatusManager updates node statuses based on signals.

Pipeline Processing

  • Description: How data flows through pipelines.
  • Details:
    • Node uses PipelineProcessor to process data.
    • Data moves from one node to the next in a chain.

Component Flows and Relationships

NodeSupervisor
    ↓ manages
    Node
        ↔ ReportingAgent (for status reporting)
        contains →
            NodeStatusManager (manages signals and execution state)
            [Pipeline 1 || Pipeline n] (concurrent execution)
            executes →
                [PipelineProcessor 1, PipelineProcessor n] (serial processes)
                interacts with → External Service
    ↓ can deploy
    Child Chains (serial or parallel execution)
    ↑ monitored by
    MonitoringAgent

Explanation:

  • NodeSupervisor: Manages the overall node operations.
  • Node:
    • Interacts bidirectionally with the ReportingAgent for status updates.
    • Contains the NodeStatusManager to handle signals and manage execution state.
    • Executes one or more pipelines concurrently.
    • Supports the integration of child chains for nested workflows.
  • PipelineProcessors: Execute processes in serial order, interacting with external services as needed.
  • MonitoringAgent: Aggregates status updates and broadcasts chain statuses externally.

Clone this wiki locally