Files
gitea a16050c80a
CI / lint-and-build (push) Has been cancelled
CI / python-checks (3.12) (push) Has been cancelled
feat: multiple updates - alerts, auth, sectors, rotation service, financials ingestion, task specs, and agent framework
2026-06-06 22:01:40 -04:00

1.8 KiB

Task: Wire Pipeline Orchestrator

Current State

src/data-pipeline/pipeline.py exists but is not connected to Celery Beat or the backend. The four ingestion scripts (prices, sec, financials, news) run standalone — no dependency ordering, no error handling between stages, no visibility into pipeline health.

Goal

Create a proper pipeline orchestrator that:

  1. Chains ingestion tasks in correct dependency order
  2. Provides health/status endpoints
  3. Integrates with existing Celery infrastructure

Requirements

  1. Define dependency graph: prices → sec → financials → news (prices must run first)
  2. Create src/backend/tasks/pipeline.py with orchestration logic
  3. Add /api/v1/sync/status endpoint (already exists per README — verify it works)
  4. Create Celery chain/group for full pipeline run
  5. Add manual trigger endpoint: POST /api/v1/sync/pipeline/run
  6. Add to docker-compose worker service

Acceptance Criteria

  • Full pipeline runs end-to-end via single API call
  • Dependency ordering enforced (prices before sec, etc.)
  • Pipeline status visible via /api/v1/sync/status
  • Failed stage does not block other independent stages
  • Pipeline health check returns last run time, status, errors

Constraints

  • Use Celery chains for ordered stages, Celery groups for parallel stages
  • Follow existing task patterns — don't reinvent error handling
  • Keep under 200 lines per framework rule
  • Read existing migrations before writing schema

Files to Create/Modify

  • src/backend/tasks/pipeline.py (new)
  • src/backend/routers/data_sync.py (add pipeline trigger endpoint)
  • src/backend/celery_app.py (add pipeline schedule)
  • docker-compose.dev.yml (verify worker includes task)

Next Steps After This Task

Wire backtest integration (phase2-backtest-integration)