Skip to content

feat: Broad-Side lens batches poll concurrently (#136) - #149

Open
TheAmericanMaker wants to merge 1 commit into
mainfrom
feat/136-broadside-concurrent-polling
Open

feat: Broad-Side lens batches poll concurrently (#136)#149
TheAmericanMaker wants to merge 1 commit into
mainfrom
feat/136-broadside-concurrent-polling

Conversation

@TheAmericanMaker

Copy link
Copy Markdown
Member

Collect previously polled one lens at a time to completion, so the slowest lens serialized the wall clock for lenses that had already finished server-side. In-flight batches now poll in parallel against one shared deadline, with per-lens progress callbacks; results still save in deterministic lens order and state updates stay per-lens.

  • New pollBatchesConcurrently helper in core/broadside.ts
  • pollIntervalMs is now injectable on pollBatchUntilTerminal — a test seam
  • 2 regression tests use a peak-concurrency probe (both GETs provably in flight simultaneously) instead of timing assertions

37 broadside tests, 397 total, all passing.

Closes #136.

Collect previously polled one lens at a time to completion, so the
slowest lens serialized the wall clock for lenses that had already
finished server-side. In-flight batches now poll in parallel against
one shared deadline via the new pollBatchesConcurrently helper, with
per-lens progress callbacks; results still save in deterministic lens
order and state updates stay per-lens.

The poll interval is now injectable (pollIntervalMs) — a test seam the
new regression tests use: a peak-concurrency probe proves both batches
are in flight simultaneously without any timing flakiness. 2 new tests;
37 broadside tests, 397 total, all passing.
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.

Broad-Side: poll all lens batches concurrently instead of sequentially

1 participant