Discord enforces a per-channel limit of roughly 30 webhook posts a minute that its rate-limit headers don't report. After PAR-563 the dispatcher follows the reported per-webhook bucket (about 5 posts every 2 seconds), so a busy feed bursts about 40 posts, trips the hidden limit and gets a 429 asking it to wait about 400 seconds. While draining the government backlog on 2026-11-06 that meant about 6 posts a minute: around 2½ hours for GovHealth's ~870 queued posts.
Send to Discord webhooks at a steady pace below the limit: after each successful post, wait a configurable interval (default 3 s, about 20 a minute) before that webhook's next post. Defer the webhook's queue in the database as PAR-563 does, so other webhooks are served in between. The paced hosts and interval are configuration, so the pacing can be tested against a local endpoint. 429 and X-RateLimit-Remaining handling stays as it is; the longer wait wins.
Loading relations…