-
Notifications
You must be signed in to change notification settings - Fork 37
Open
Description
Problem
Some WES responses can become extremely large depending on the workflow and implementation. For example, a GetRunLog
response with many outputs can cause:
- High payload sizes
- Slow API responses
- Timeouts or degraded client performance
Currently, the WES spec doesn’t provide guidance on handling large responses beyond the standard synchronous REST calls.
Proposed Solution
Introduce streaming endpoints (or equivalent mechanisms such as pagination/chunked transfer) to handle large payloads in a scalable way.
Possible approaches:
- Add optional streaming endpoints (e.g.,
GET /runs/{run_id}/stream/{field}
) for fields that can grow arbitrarily large (outputs
,logs
(I guess thats what TesLogs were meant to solve but all engines don't support TES but WES should be general enough)). - Define a standard response format for streaming (e.g., newline-delimited JSON, chunked JSON, or pagination).
- Keep existing endpoints lightweight, returning only summaries or truncated versions of large fields, while streaming endpoints provide full access.
Related
See [issue #228] (discussion about output schema recommendations).
uniqueg
Metadata
Metadata
Assignees
Labels
No labels