Files
pipecat/changelog/4493.changed.3.md
Aleix Conchillo Flaqué e47f7d0e63 Auto-end PipelineRunner.run() when all root workers finish
run() now defaults to auto_end=True: the runner ends once every root
worker has finished, so single-pipeline bots end naturally when their
pipeline does and tests no longer need an explicit runner.end() call.
Multi-worker bots whose helpers run forever still trigger shutdown via
end() / cancel() from an event handler (typically on transport
disconnect). Hosts that add and remove workers across many sessions can
pass auto_end=False to keep the runner up.
2026-05-21 23:08:47 -07:00

490 B

  • PipelineRunner.run() now ends automatically once every root worker has finished, so single-pipeline bots no longer need an explicit runner.end() / runner.cancel() call. Multi-worker bots whose helpers run forever (waiting for bus messages) still trigger shutdown by calling end() / cancel() from an event handler (typically on transport disconnect). Pass auto_end=False to run() for long-lived hosts (e.g. a FastAPI server) that add and remove workers across many sessions.