Skip to main content

cf_pipeline_manager

cf_pipeline_manager runs the local Cogniflow pipeline manager daemon.

It is the only supported project entrypoint for starting pipeline execution.

It owns:

  • daemon lifecycle
  • polling queued runs and pending events
  • launching cf_pipeline_v2
  • exposing manager commands over CLI

It does not replace cf_semantics_runtime. Runtime state, snapshots, queue state, and event persistence live in cf_pipeline_manager.

Runtime Files

The manager writes local daemon state under workspace/pipeline_manager:

  • daemon.json
  • daemon.lock
  • daemon.log
  • runs/<run_id>/pipeline.engine.json
  • runs/<run_id>/step_<index>.engine.json
  • runs/<run_id>/engine.command.json
  • runs/<run_id>/engine.stdout.log
  • runs/<run_id>/engine.stderr.log

The manager uses ~/.cogniflow/workspace/pipeline_manager for its local daemon state.

CLI Entry Points

You can use either surface:

  • standalone: python -m cf_pipeline_manager ...
  • unified CLI: cf pipeline manager ...

The command set is the same for both.

Command Overview

status
ensure-daemon
stop-daemon
activate
submit-run
snapshot
summaries
stop-run
emit-event

All commands return JSON.

Typical Flow

1. Start the daemon

python -m cf_pipeline_manager ensure-daemon

Or:

cf pipeline manager ensure-daemon

This starts the daemon if it is not already running and writes workspace/pipeline_manager/daemon.json.

2. Check status

python -m cf_pipeline_manager status

Example output shape:

{
  "running": true,
  "workspace_dir": "C:\\repo\\workspace\\pipeline_manager",
  "active_workers": [],
  "worker_errors": {}
}

3. Activate a pipeline for manager scheduling

python -m cf_pipeline_manager activate opcua_fifo_avg_to_duckdb_parquet_triggered

You can also set runtime state explicitly:

python -m cf_pipeline_manager activate opcua_fifo_avg_to_duckdb_parquet_triggered --desired-state enabled --concurrency-limit 1 --priority 0

4. Submit a manual run

python -m cf_pipeline_manager submit-run opcua_fifo_avg_to_duckdb_parquet_triggered --source manual --request-id req-001

With JSON overrides:

python -m cf_pipeline_manager submit-run opcua_fifo_avg_to_duckdb_parquet_triggered `
  --runner-overrides-json '{\"engine_iterations\":1}' `
  --input-overrides-json '[{\"node_id\":\"pipe:opcua_fifo_avg_to_duckdb_parquet_triggered/n1\",\"parameters\":{\"endpoint\":\"opc.tcp://127.0.0.1:4841/VirtualPhServer\"}}]' `
  --metadata-json '{\"origin\":\"cli\"}'

5. Inspect summaries or one pipeline snapshot

python -m cf_pipeline_manager summaries
python -m cf_pipeline_manager snapshot opcua_fifo_avg_to_duckdb_parquet_triggered

To inspect a specific run:

python -m cf_pipeline_manager snapshot opcua_fifo_avg_to_duckdb_parquet_triggered --selected-run-id <run_id>

6. Emit an event instead of a manual run

python -m cf_pipeline_manager emit-event opcua_fifo_avg_to_duckdb_parquet_triggered manual --source external --source-event-id evt-001 --dedupe-key evt-001 --payload-json '{\"kind\":\"manual\"}'

The manager will persist the event through cf_ontology and then try to drain it into the run queue.

7. Stop a queued run

python -m cf_pipeline_manager stop-run opcua_fifo_avg_to_duckdb_parquet_triggered <run_id>

Stopping a queued run returns a stopped result. Stopping a running run returns a structured unsupported response instead of throwing.

8. Stop the daemon

python -m cf_pipeline_manager stop-daemon

Using The Unified CLI

If cf_core_cli is installed, the manager is also available here:

cf pipeline manager --help
cf pipeline manager ensure-daemon
cf pipeline manager activate opcua_fifo_avg_to_duckdb_parquet_triggered
cf pipeline manager submit-run opcua_fifo_avg_to_duckdb_parquet_triggered --source manual
cf pipeline manager summaries

Example Pipeline Assets

The canonical example pipeline used for manager testing is:

  • sandcastle/cf_pipeline/cf_pipeline_engine/examples/opcua_fifo_avg_to_duckdb_parquet_triggered.nq

The mirrored setup demo is:

  • sandcastle/cf_setup/src/cf_setup/demo/opcua_fifo_avg_to_duckdb_parquet_triggered.nq

The setup demo intentionally differs from the engine example in a few runtime values such as OPC UA endpoint, window size, and engine duration.

Notes

  • The manager launches cf_pipeline_v2 directly. It does not shell out through the cf_pipeline_engine CLI wrapper.
  • The daemon binds to loopback HTTP only.
  • Provider runtime path discovery still follows the existing workspace/runtime/provider_registry.v1.json convention.

Metadata

Release files for cf-pipeline-manager 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cf-pipeline-manager 0.1.0
File Size Uploaded Provenance Actions
cf_pipeline_manager-0.1.0.tar.gz 46.6 kB Without provenance Details for cf_pipeline_manager-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for cf-pipeline-manager 0.1.0
File Interpreter ABI Platform Actions
cf_pipeline_manager-0.1.0-py3-none-any.whl Python 3 none any Details for cf_pipeline_manager-0.1.0-py3-none-any.whl

Total release size: 88.0 kB

Release files / cf_pipeline_manager-0.1.0.tar.gz

Download URL cf_pipeline_manager-0.1.0.tar.gz
Size 46.6 kB
Tags Source
SHA-256 checksum
How to use checksums
ad4bb05b8afa88fa63d24eeb6aba5e3c9e109fd7965de050a86e898ca7076571
BLAKE2b-256 checksum
How to use checksums
7822023bc38e1b3d63aeb9f556d39a3a2477ed46ca8a701b93ba8144d2746d59
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / cf_pipeline_manager-0.1.0-py3-none-any.whl

Download URL cf_pipeline_manager-0.1.0-py3-none-any.whl
Size 41.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e45106269103b44761ff21a3867e183bedaf11afdba03d254ffa2cd00d7544ba
BLAKE2b-256 checksum
How to use checksums
1719c87a61ef727913f9516e42ad66799d4365da1c8ba520df2d5a11076b777a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.14.4

Security for cf-pipeline-manager 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page