Skip to content

[6.x] Stagger Outpost pings - #15649

Merged
jasonvarga merged 3 commits into
6.xfrom
stagger-outpost-pings
Oct 15, 2026
Merged

jasonvarga merged 3 commits into
6.xfrom
stagger-outpost-pings

Conversation

@duncanmcclean

@duncanmcclean duncanmcclean commented Oct 15, 2026 •

Copy link
Copy Markdown
Member

This pull request fixes an issue where every Statamic site pings the Outpost at the same time, which has been taking statamic.com down for a few minutes at the top of the hour.

This was happening because the scheduled ping runs ->hourly(), so every site pinged at exactly :00. Responses were then cached for exactly an hour, which kept sites pinging from front-end requests lined up on :00 too. Error responses were cached for exactly 5 minutes, so when the Outpost struggled, every site retried at the same moment.

This PR fixes it by:

  • Scheduling the ping at a fixed minute for each site, derived from its app.key (falling back to the base path when there's no app key).
  • Caching successful responses for a random 50–59 minutes, rather than exactly an hour.
  • Caching error responses for a random 5–10 minutes, rather than exactly 5. The 429 Retry-After handling is unchanged.

Caused by #15208

@jasonvarga
jasonvarga merged commit 0e4d5ff into 6.x Oct 15, 2026
115 of 122 checks passed
@jasonvarga
jasonvarga deleted the stagger-outpost-pings branch October 15, 2026 14:42
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.

2 participants