When you get an email from Heroku that reads:reads…
Your database xxx standard-0 (xxx on scihist-digicoll-production) must undergo maintenance
…. here’s how to do the maintenance at a time of your choosing:
Schedule 10 minutes of downtime
Put the following in a bash script:Turn
OFF
the switch next toDYNO MANAGER
at https://manager.hirefire.io/managers/2533bb0e-4eda-4f45-b8ef-3235c1e302df to prevent it from turning workers back on.
maintenance:offheroku ps:scale worker=0 --app scihist-digicoll-production
heroku maintenance:on --app scihist-digicoll-production
heroku pg:maintenance:run --force --app scihist-digicoll-production
heroku pg:wait --app scihist-digicoll-production
heroku
ps:scale worker=2 --app scihist-digicoll-production
Scale down workers to zero at https://dashboard.heroku.com/apps/heroku maintenance:off --app scihist-digicoll-production
/resourcesDisable our hirefire autoscaling to keep it from starting workers back up again
At the appointed time, run the script.
Restore hirefire and heroku state
Turn the Hirefire manager switch back
ON
.