Skip to content

Data Flows

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

Data Flows

1. Chain Initialization

  • Process:
    • The NodeSupervisor configures and distributes nodes.
    • Nodes request ReportingAgent instances from the MonitoringAgent.
  • Flow:
    NodeSupervisor → Create Chain Config → Distribute Nodes → Set Up Monitoring
    

2. Execution Flow

  • Process:
    • Nodes process incoming data via PipelineProcessors.
    • Status updates are continuously sent via the ReportingAgent.
    • Processed data is forwarded to the next node in the chain.
  • Flow:
    Node → Process Data → Report Status → Forward Data
    

3. Monitoring Flow

  • Process:
    • ReportingAgents capture status changes from each node.
    • The MonitoringAgent aggregates these updates and broadcasts chain status externally.
  • Flow:
    ReportingAgent → Capture Status → MonitoringAgent → Broadcast Status
    

Typical Workflow Example

  1. Configure Callbacks: Set up service and monitoring callbacks.
  2. Create Chain Configuration: Define nodes, services, and locations.
  3. Deploy Chain: Issue a CHAIN_DEPLOY signal via NodeSupervisor.handleRequest.
  4. Prepare Distribution: The NodeSupervisor sets up local/remote nodes.
  5. Start Chain: Initiate execution with a CHAIN_START signal and provide input data.
  6. Execute and Monitor: Nodes process data while the MonitoringAgent tracks progress and aggregates status updates.

Error Handling and Logging

  • Mechanism: A built-in logging system (Logger) tracks operations, warnings, and errors.
  • Customization: Users can configure logging outputs as needed, ensuring that error handling aligns with specific workflow requirements.

Clone this wiki locally