Skip to content

Separate live dashboard refreshes from maintenance work - #453

Merged
trask merged 1 commit into
mainfrom
trask-separate-dashboard-queues
Oct 9, 2026
Merged

trask merged 1 commit into
mainfrom
trask-separate-dashboard-queues

Conversation

@trask

@trask trask commented Oct 9, 2026

Copy link
Copy Markdown
Member

Keep #441's durable execution ownership while separating live PR refreshes from hourly backfills and reminder sweeps. Maintenance batches no longer occupy live processing slots.

Drain dispatches select queue_lane=live or queue_lane=maintenance, defaulting to live. Both lanes retain existing queue records and use the same processor; per-repository delivery leases serialize side effects and publication after calculation.

An owned installation must be paused and its pre-upgrade drains retired before merging or deploying. Follow the upgrade procedure to resume both lanes. Production mode and rollout pins are unchanged.

Preserve durable queue ownership with independent lane dispatchers and shared repository delivery leases.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@trask
trask requested a balanced review from Copilot October 9, 2026 02:55

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The distributed lease and operational cutover changes require final human validation under production failure scenarios.

0 open findings

What changed in this PR

Separates live dashboard refreshes from maintenance work while preserving durable queue ownership and serialized repository delivery.

Changes:

  • Adds independent live and maintenance dispatcher lanes.
  • Introduces renewable, generation-fenced repository delivery leases.
  • Updates workflows, recovery, clients, documentation, and tests for lane-aware processing.
File Description
pull-request-dashboard/​README.md Documents queue lanes and delivery leases.
.github/​workflows/​pull-request-dashboard-drain.yml Accepts and propagates the selected lane.
.github/​scripts/​pull-request-dashboard/​WEBHOOK_SETUP.md Documents deployment and upgrade procedures.
.github/​scripts/​pull-request-dashboard/​test_rollout.py Tests workflow lane propagation.
.github/​scripts/​pull-request-dashboard/​test_queue_worker_client.py Tests lane-aware API requests.
.github/​scripts/​pull-request-dashboard/​test_process_queue_batch.py Tests leased delivery sequencing and failures.
.github/​scripts/​pull-request-dashboard/​test_owned_execution.py Tests work-to-lane selection.
.github/​scripts/​pull-request-dashboard/​test_github_dispatch.mjs Tests lane-aware workflow dispatches.
.github/​scripts/​pull-request-dashboard/​test_dashboard_queue.mjs Tests lane isolation and delivery fencing.
.github/​scripts/​pull-request-dashboard/​test_dashboard_queue_worker.mjs Tests worker routing and delivery actions.
.github/​scripts/​pull-request-dashboard/​test_dashboard_queue_recover.mjs Tests independent lane recovery.
.github/​scripts/​pull-request-dashboard/​RATIONALE.md Explains the concurrency design.
.github/​scripts/​pull-request-dashboard/​queue_worker_client.py Adds lane and delivery-lease requests.
.github/​scripts/​pull-request-dashboard/​process_queue_batch.py Wraps side effects in repository leases.
.github/​scripts/​pull-request-dashboard/​netlify/​lib/​github-dispatch.mjs Includes lanes in drain dispatches.
.github/​scripts/​pull-request-dashboard/​netlify/​lib/​dashboard-queue.mjs Implements lane dispatchers and delivery leases.
.github/​scripts/​pull-request-dashboard/​netlify/​functions/​dashboard-queue-worker.mjs Routes operations to their lane.
.github/​scripts/​pull-request-dashboard/​netlify/​functions/​dashboard-queue-recover.mjs Recovers both lanes independently.
.github/​scripts/​pull-request-dashboard/​enqueue_dashboard.py Selects lanes for enqueue and status calls.
.github/​scripts/​pull-request-dashboard/​drain_queue.py Creates lane-scoped queue clients.
.github/​scripts/​pull-request-dashboard/​CONTEXT.md Updates architectural context.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@opentelemetry-pr-dashboard

opentelemetry-pr-dashboard Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Pull request dashboard status

Merged · refreshed 2026-10-09 15:40 UTC

Status above doesn't look right?
  • Anything look wrong? Report it with what you expected; it helps us improve the dashboard.

@trask
trask marked this pull request as ready for review October 9, 2026 03:27
@trask
trask requested a review from a team as a code owner October 9, 2026 03:27
@trask
trask requested a review from mx-psi October 9, 2026 03:27
@trask
trask merged commit 27abbb2 into main Oct 9, 2026
7 checks passed
@trask
trask deleted the trask-separate-dashboard-queues branch October 9, 2026 15:34
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.

3 participants