mirror of
https://github.com/fosrl/pangolin.git
synced 2026-07-15 21:31:24 -05:00
[PR #3294] Batch Redis websocket fan-out and deduplicate queued rebuild jobs #34670
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/fosrl/pangolin/pull/3294
Author: @Copilot
Created: 6/16/2026
Status: 🔄 Open
Base:
queue← Head:copilot/add-batching-mechanism-to-rebuild-client-associati📝 Commits (2)
45158fffeat: batch redis ws direct messages and dedupe rebuild queue jobsb66140brefactor: tighten ws batch typing and queue cleanup logging📊 Changes
3 files changed (+170 additions, -27 deletions)
View changed files
📝
server/private/lib/rebuildQueue.ts(+29 -0)📝
server/private/routers/ws/ws.ts(+118 -18)📝
server/routers/ws/types.ts(+23 -9)📄 Description
Rebuild association paths can emit thousands of websocket sends in bursts, which was creating Redis/websocket backpressure. This update introduces batched cross-node direct delivery and queue-level deduplication for rebuild jobs so duplicate queued work is dropped while preserving re-queue behavior for in-progress jobs.
Websocket cross-node batching (direct sends)
direct-batchmessage support and typed it in the shared WS message contract.250, short flush interval).Queue deduplication semantics for rebuilds
type:id.Type/contract tightening
RedisMessageinto a discriminated union fordirect,direct-batch, andbroadcast, making batch payload shape explicit.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.