Repository navigation
Parallel execution-tree fetch, request hooks and client-side rate limiting (v0.1.34) - #79
Merged
Merged
Conversation
…iting (v0.1.34) - get_execution_details fetches the tree breadth-first (one batch per level, execution_tree_max_workers threads, inline without threads) via the new tangle_cli.execution_tree.fetch_execution_tree. Enriched output is byte-identical (goldens from the previous sequential traversal). - No-op prefetch(paths)/persist(paths) client hooks as a caching extension point. - Client-wide rate limiting (max_requests_per_second, default 8; off under emscripten): every physical send is paced across threads; 429 and 503 pause the shared limiter (others resume with jitter); 503 Retry-After is honoured, including for log-stream opens; limiter waits never carry a send past the retry deadline. Auth refresh and header snapshots are serialized for parallel workers.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
get_execution_detailsused to fetch a run's execution tree with one sequential request per execution. It now fetches level by level in parallel, without changing its output, and the client paces its own requests.tangle_cli.execution_tree.fetch_execution_treefetches breadth-first, one batch per level, with up toexecution_tree_max_workers(8) threads. It runs inline without threads (e.g. Pyodide).get_execution_detailsuses it, and the enriched output is unchanged.prefetch(paths)/persist(paths)onTangleApiClient, as a generic caching extension point.max_requests_per_second(default 8,Nonedisables, off under emscripten) paces every physical send across threads.Retry-Afteris now honoured, including for log-stream opens.Tests