Skip to main content
devRunner runs multiple pipes concurrently inside a single Node.js process, with per-pipe restart retries, a shared metrics server, and per-pipe scoped loggers.
The dev runner is for local development only. All pipes share one JS thread, so a CPU-intensive pipe starves its neighbours, and an OS-level kill takes every pipe down together. For production, run each pipe as a separate process or container.

Usage

Declare each pipe as { id, params, handler } and hand the list to devRunner:
Each handler receives a PipeContext with the pipe’s id, its params, the shared metrics server, and a logger scoped to the pipe ID. Pass those into the source so all pipes report to one metrics endpoint:

Configuration

Each pipe declared in the runner shows up separately in Pipes UI, keyed by its id. Full runnable example: 12.runner.example.ts.