Pular para o conteúdo
#0310
ExecSqlite

The pipeline is a folder of URLs that call each other

pipeline/extract.ts pulls yesterday's orders from the vendor API. pipeline/transform.ts normalizes currencies and dedupes. pipeline/load.ts writes to the warehouse. pipeline/run.ts has // @schedule 0 3 * * * at the top and three lines in the body: await fetch('/pipeline/extract'), then transform, then load.

Each stage is an HTTP endpoint because it's a file in the exec folder. Relative paths resolve to the same instance. When transform breaks on a new currency code, you hit /pipeline/transform directly with the offending payload, fix the file, hit it again. The marketing team's analyst calls /pipeline/load from her own script when she wants a mid-day refresh; she never asked you for a trigger.

No Airflow scheduler, no DAG Python, no Step Functions JSON. Four files, one cron comment, a warehouse.

The DAG is the file tree, and the edges are fetch calls.