Why do I get alerts right after a maintenance window ends?
The usual cause: your maintenance window ends, Oh Dear immediately resumes uptime checks, and your site isn't fully warm yet. The first check after the window ends fails, and we fire an alert within 60 seconds.
It's not that maintenance windows are broken - they're doing exactly what they're supposed to. It's just that "checks resume" means "resume right now".
How to stop false alerts after maintenance ends
You have three practical options.
1. Extend the maintenance window
The simplest fix. If your deploy takes 10 minutes to settle (cache warming, queue draining, ORM connection pools filling back up), set the maintenance window to 15 or 20 minutes and the problem disappears.
Better to have 5 extra minutes of silence than a false-positive page at 02:03.
2. Raise the failed-notification threshold
Every uptime check has a failed notification threshold in its settings. It controls how many consecutive failures are needed before we alert. Default is 2 (so a single blip is ignored).
Raising it to 3 or 4 gives your site an extra minute or two of recovery time after maintenance ends, without extending the window.
3. Automate with the API
If your deploys are automated, control maintenance windows through the API from your deploy script:
deploy_start -> create maintenance window ... run deploy ... smoke_test_pass -> end maintenance window
That way the window ends exactly when your smoke tests pass, not a wall-clock minute that might be too optimistic.
Recurring maintenance windows
For deploys that happen on a schedule (nightly batch jobs, weekly cron restarts), use recurring maintenance windows rather than creating a fresh one each time. You configure them once and forget.