Increase webhook retry attempts from 3 to 5#927
Conversation
- Changes webhook delivery attempts from 3 to 8 - Keeps exponential backoff with 5-second base delay - Total retry window increases from ~15s to ~10m 35s - Provides better resilience for temporary outages, deployments, and restarts Timeline: - Attempt 1: 0s - Attempt 2: +5s (5s total) - Attempt 3: +10s (15s total) - Attempt 4: +20s (35s total) - Attempt 5: +40s (1m 15s total) - Attempt 6: +1m 20s (2m 35s total) - Attempt 7: +2m 40s (5m 15s total) - Attempt 8: +5m 20s (10m 35s total) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
WalkthroughIncreased the default retry attempts for the SendWebhookQueue from 3 to 5 in the BullMQ queue configuration; exponential backoff with a 5-second base delay remains unchanged and no control-flow or API changes were made. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes
Pre-merge checks and finishing touches❌ Failed checks (2 warnings, 1 inconclusive)
✅ Passed checks (2 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (1)
src/worker/queues/send-webhook-queue.ts (1)
58-64: Config change is correct; consider broader impact of longer retry window.The BullMQ config here looks valid: bumping
attemptsto8with the same exponentialbackoffcleanly achieves the ~10m35s retry window described, and all jobs using this queue will inherit it since they don’t override attempts/backoff in theiradd()calls.One thing to double‑check operationally is whether it’s acceptable for all webhook types on this shared
send-webhookqueue (not just AMEX) to hang around and retry for ~10 minutes before final failure, e.g., for consumers that might prefer faster failure visibility or have stricter latency expectations. If that’s a concern, you might later split queues or make attempts/backoff configurable per integration, but that doesn’t block this PR.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (1)
src/worker/queues/send-webhook-queue.ts(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: build
- GitHub Check: lint
- Changes webhook delivery attempts from 8 to 5 - Keeps exponential backoff with 5-second base delay - Total retry window: ~1 minute 15 seconds - Balances resilience with resource efficiency Timeline: - Attempt 1: 0s - Attempt 2: +5s (5s total) - Attempt 3: +10s (15s total) - Attempt 4: +20s (35s total) - Attempt 5: +40s (1m 15s total) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Timeline:
🤖 Generated with Claude Code
Changes
How this PR will be tested
Output
(Example: Screenshot/GIF for UI changes, cURL output for API changes)
PR-Codex overview
This PR focuses on modifying the
attemptsproperty in thedefaultJobOptionsof thesend-webhook-queue.tsfile to increase the number of retry attempts for failed jobs.Detailed summary
attemptsvalue from3to5in thedefaultJobOptionsobject.Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.