Skip to content

feat(pipeline-run): stream execution logs#39

Open
arseniy-pplx wants to merge 1 commit into
TangleML:masterfrom
arseniy-pplx:transfer/stream-execution-logs
Open

feat(pipeline-run): stream execution logs#39
arseniy-pplx wants to merge 1 commit into
TangleML:masterfrom
arseniy-pplx:transfer/stream-execution-logs

Conversation

@arseniy-pplx

Copy link
Copy Markdown

Summary

  • add --stream to tangle sdk pipeline-runs logs for live container-log following
  • retry only the stream-open phase on transient transport failures and retryable 5xx responses
  • never reopen an established stream, preventing duplicated output after a mid-stream drop
  • surface stream-open failures and interruptions as clean CLI errors; handle BrokenPipe and Ctrl-C without tracebacks

Context

The existing command fetches a one-shot log snapshot. Long-running pipelines require users and automation to poll repeatedly. A follow mode provides the expected log-debugging workflow while keeping retry semantics explicit and bounded: only the initial open is retried, so an interrupted stream is never silently resumed with duplicated lines.

Testing

  • uv run pytest tests/test_client.py tests/test_pipeline_runs_cli.py
  • uvx ruff check on the touched source files
  • uv lock --check
  • git diff --check

Add --stream to tangle sdk pipeline-runs logs to follow container logs live instead of fetching a one-shot snapshot. Opening the stream has its own bounded retry budget for transport errors and retryable 5xx responses, spent before the first line is yielded. An established stream is never reopened, so output cannot be duplicated; mid-stream drops, open failures, BrokenPipe and Ctrl-C all exit without tracebacks.
@arseniy-pplx
arseniy-pplx marked this pull request as ready for review July 20, 2026 18:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant