Skip to content

De. Pipeline Orchestration System

Intelligent workflow orchestration engine for logistics operations with autonomous execution, health monitoring, and real-time optimization.

Pipeline Overview

De. Pipelines automate complex logistics workflows through declarative configuration, autonomous execution, and intelligent monitoring.

Key Features:

  • Declarative Pipelines - Define workflows as code with stages, actions, and transitions
  • Autonomous Execution - Self-managing pipeline runs with automatic retries and error handling
  • Real-time Monitoring - Health checks, timeout detection, and performance optimization
  • Query System - Dynamic resource selection with fallback strategies
  • Webhook Integration - Event-driven notifications and external system coordination

Built for: Supply chain automation, order fulfillment, inventory management, warehouse operations, cold chain monitoring, route optimization

What are De. Pipelines?

De. Pipelines enable logistics applications to automate complex, multi-step workflows without writing procedural code. Instead of manually orchestrating each step of a process (like order fulfillment, inventory replenishment, or route optimization), you define the desired workflow as a pipeline template - the system handles execution, monitoring, error recovery, and optimization automatically.

Why Use De. Pipelines?

Traditional Approach:

typescript
// Manual workflow orchestration
async function fulfillOrder(orderId: string) {
  try {
    // Step 1: Validate inventory
    const inventory = await checkInventory(orderId)
    if (!inventory.available) {
      await handleOutOfStock(orderId)
      return
    }
    
    // Step 2: Select warehouse
    const warehouse = await selectWarehouse(orderId)
    if (!warehouse) {
      await handleNoWarehouse(orderId)
      return
    }
    
    // Step 3: Assign carrier
    const carrier = await selectCarrier(orderId, warehouse)
    // ... and so on
    
    // Manual error handling, retries, timeouts, logging...
  } catch (error) {
    await handleError(orderId, error)
  }
}

De. Pipeline Approach:

json
{
  "name": "Order Fulfillment Pipeline",
  "stages": [
    {
      "name": "Validate Inventory",
      "action": "QUERY",
      "query": { "resource": "INVENTORY", "filters": {...} },
      "onSuccess": "SELECT_WAREHOUSE",
      "onFailure": "HANDLE_OUT_OF_STOCK"
    },
    {
      "name": "Select Warehouse",
      "action": "QUERY",
      "query": { "resource": "WAREHOUSE", "strategy": "CLOSEST" },
      "onSuccess": "ASSIGN_CARRIER"
    }
  ]
}

De. Pipelines automatically handle execution, monitoring, retries, timeouts, and error recovery - you just define the workflow.

Core Concepts

Three-Phase Architecture

De. Pipelines use a three-phase model for pipeline management:

1. Pipeline Template (Design-Time)

Reusable workflow definitions that serve as blueprints:

  • Define stages, actions, and transitions
  • Configure queries, webhooks, and validations
  • Set timeouts, retry policies, and error handling
  • Templates are versioned and can be shared

2. Pipeline (Validated & Deployed)

Validated, executable pipeline ready for production:

  • Template validated against system capabilities
  • Resources verified (warehouses, carriers, inventory)
  • Health checks configured
  • Performance baselines established
  • Status: ACTIVE, DEGRADED, DISABLED, SIMULATING

3. Pipeline Execution (Runtime)

Active instance processing real data:

  • Created from deployed pipeline
  • Tracks current stage and state
  • Records execution history
  • Handles transitions autonomously
  • Reports health metrics

Key Components

Stages

Individual workflow steps with actions (QUERY, WEBHOOK, WAIT) and transitions

Actions

Operations performed at each stage: resource queries, API calls, or conditional waits

Queries

Dynamic resource selection with filters, strategies, and fallback options

Transitions

Automatic progression through stages based on results and conditions

Workers

Background processes for execution, monitoring, health checks, and webhooks

Health System

Continuous monitoring, timeout detection, simulation, and performance scoring

Pipeline Actions

De. Pipelines support three core action types:

QUERY Action

Query and select resources dynamically:

json
{
  "action": "QUERY",
  "query": {
    "resource": "WAREHOUSE",
    "filters": {
      "capabilities": ["COLD_CHAIN"],
      "region": "NORTH"
    },
    "strategy": "CLOSEST",
    "fallbackOptions": [
      { "strategy": "FASTEST", "filters": {...} }
    ]
  }
}

Supported Resources:

  • WAREHOUSE - Storage facilities
  • CARRIER - Transportation providers
  • TERMINAL - Distribution hubs
  • ROUTE - Delivery routes
  • INVENTORY - Stock availability
  • VEHICLE - Fleet resources

Selection Strategies:

  • BEST_MATCH - Highest score based on filters
  • CLOSEST - Geographic proximity
  • FASTEST - Shortest processing time
  • CHEAPEST - Lowest cost
  • HIGHEST_CAPACITY - Maximum throughput
  • RANDOM - Load balancing

WEBHOOK Action

Trigger external systems or notifications:

json
{
  "action": "WEBHOOK",
  "webhook": {
    "url": "https://api.example.com/notify",
    "method": "POST",
    "headers": { "Authorization": "Bearer ${token}" },
    "body": {
      "orderId": "${execution.metadata.orderId}",
      "status": "${stage.result}"
    },
    "retries": 3,
    "timeout": 5000
  }
}

WAIT Action

Conditional or time-based pauses:

json
{
  "action": "WAIT",
  "wait": {
    "type": "CONDITION",
    "condition": {
      "field": "inventory.quantity",
      "operator": "GREATER_THAN",
      "value": 0
    },
    "timeout": 3600,
    "checkInterval": 60
  }
}

Stage Transitions

Pipelines progress through stages automatically based on results:

json
{
  "stage": "Validate Inventory",
  "action": "QUERY",
  "transitions": {
    "onSuccess": {
      "next": "SELECT_WAREHOUSE",
      "condition": {
        "field": "result.available",
        "operator": "EQUALS",
        "value": true
      }
    },
    "onFailure": {
      "next": "HANDLE_OUT_OF_STOCK",
      "retries": 2,
      "retryDelay": 300
    },
    "onTimeout": {
      "action": "SKIP",
      "next": "MANUAL_REVIEW"
    }
  }
}

Transition Types:

  • CONTINUE - Proceed to next stage
  • SKIP - Jump to specified stage
  • RETRY - Re-execute current stage
  • FAIL - Mark execution as failed
  • COMPLETE - End execution successfully

Worker System

De. Pipelines use background workers for autonomous operation:

Worker Types

Transition Worker (30s interval)

  • Processes queued stage transitions
  • Executes actions (queries, webhooks)
  • Handles retries and error recovery
  • Updates execution state

Monitoring Worker (1min interval)

  • Detects timed-out stages
  • Identifies stalled executions
  • Triggers timeout handlers
  • Reports anomalies

Health Worker (5min interval)

  • Runs continuous simulations
  • Calculates health scores
  • Detects performance degradation
  • Generates alerts

Webhook Worker (10s interval)

  • Processes queued webhook events
  • Handles retries and failures
  • Tracks delivery status
  • Logs responses

Worker Scaling

Workers automatically scale based on workload:

typescript
// Horizontal scaling with sharding
INSTANCE_ID=0 TOTAL_INSTANCES=10
// Each instance handles ~10% of workspaces

// Workers only initialize for workspaces with active pipelines
// Reduces overhead for inactive workspaces

Health & Monitoring

Health Scoring

Pipelines receive continuous health scores (0-100) based on:

  • Execution success rate
  • Average completion time
  • Error frequency
  • Resource availability
  • Simulation results

Health Status:

  • HEALTHY (80-100) - Operating optimally
  • DEGRADED (50-79) - Performance issues detected
  • CRITICAL (0-49) - Significant problems
  • UNKNOWN - Insufficient data

Continuous Simulation

The system runs periodic test executions to validate pipeline health:

json
{
  "simulation": {
    "enabled": true,
    "interval": 300,
    "testData": {
      "orderId": "TEST_${timestamp}",
      "quantity": 10
    }
  }
}

Simulations detect issues before they affect production workloads.

When to Use De. Pipelines

Ideal Use Cases

Multi-Step Workflows

  • Order fulfillment with 5+ stages
  • Inventory replenishment pipelines
  • Route optimization workflows
  • Quality control processes

Dynamic Resource Selection

  • Warehouse assignment based on location/capacity
  • Carrier selection with fallback options
  • Terminal routing with real-time constraints

High-Volume Automation

  • Thousands of orders per hour
  • Continuous background processing
  • Automated error recovery

Complex Business Logic

  • Conditional branching
  • Retry strategies
  • Timeout handling
  • External system coordination

When NOT to Use De. Pipelines

Simple, Linear Processes

  • Single API call workflows
  • No branching or error handling needed
  • Direct SDK calls are simpler

Real-Time, Sub-Second Requirements

  • Worker intervals start at 10s minimum
  • Use direct API calls for immediate responses

One-Off Tasks

  • Pipeline overhead not justified
  • Better as standalone scripts

Getting Started

Ready to build your first pipeline? Continue to:

Next Steps