Skip to content

Running pipelines

Once a pipeline config is stored, you start executions against it, monitor them, pause specific routes, and cancel runaways.

Terminal window
factflow config run CONFIG_ID

Or via API:

Terminal window
curl -X POST http://localhost:8000/api/v1/executions \
-H 'Content-Type: application/json' \
-d '{"config_id": "CONFIG_ID"}'

Response contains execution_id and initial status running.

Terminal window
factflow execution list
factflow execution list --status running
factflow execution list --status failed --limit 20 --offset 0

Filter: running, completed, failed, cancelled, interrupted.

Terminal window
factflow execution get EXEC_ID

Shows status, source config id, start/end times, route-level progress.

Terminal window
factflow execution wait EXEC_ID

Exit 0 on completed, non-zero on failed or cancelled. Useful in shell scripts and CI:

Terminal window
factflow config run CONFIG_ID | jq -r .execution_id | xargs factflow execution wait
echo "exit code: $?"

Tune timeout if needed:

Terminal window
factflow --timeout 1h execution wait EXEC_ID
Terminal window
factflow execution cancel EXEC_ID

Cancellation is graceful: the orchestrator signals every processor, processors stop consuming new messages, in-flight messages complete (or are cancelled with asyncio.CancelledError — adapters must be cancel-safe), then the execution transitions to cancelled.

Terminal window
factflow execution dag EXEC_ID

Returns nodes (routes + adapters) and edges (queue links). Useful for understanding what the orchestrator constructed from the YAML.

Terminal window
factflow execution stats EXEC_ID

Derived from lineage: message counts per adapter, failures, average duration.

Terminal window
factflow execution routes EXEC_ID

Every running route under this execution, with its queue name and processor state.

Routes can be paused globally — across all executions that share the route name:

Terminal window
factflow pipeline pause ROUTE_ID
factflow pipeline resume ROUTE_ID

Use case: a downstream service is degraded; pause the route writing to it, let upstream queue up, resume when the downstream is back. Messages in the broker queue survive the pause.

Terminal window
factflow system metrics

Point-in-time snapshot of the orchestrator: total messages received / completed / failed / in-flight, running route count.

Terminal window
factflow pipeline list
factflow pipeline metrics ROUTE_ID

Per-route throughput and latency.

Replay produces a new execution from a prior one’s storage. See the replay guide for full mechanics.