All status pages

Heroku statusManual checkVerified May 24, 2026Source: status.heroku.com

Is Heroku down?

Live status check · No widespread incident reported.

NO

Most recent manual verification mirrored from status.heroku.com. Below: the components that can break, what to do during an incident, and how to keep your scheduled jobs running independently.

About Heroku status

Heroku still runs a meaningful share of Ruby, Python, and Node production workloads. Incidents usually hit dynos, Heroku Postgres, or Heroku Scheduler one at a time, but the symptoms (timeouts, slow boots, missed jobs) overlap enough to be confusing.

Components and surfaces that can break

  • Surface 01

    Dynos (web, worker, one-off).

  • Surface 02

    Heroku Postgres, Heroku Redis, Heroku Data add-ons.

  • Surface 03

    Heroku Scheduler, deploys via Git or CI.

Recent Heroku incidents

Heroku maintains a public incident history. Read the latest entries to see whether you're hitting a known issue, and look at the post-mortems for context on how long similar incidents typically take to clear.

What to do if Heroku is actually down

  1. Distinguish a platform outage from a dyno hang

    Check status.heroku.com for both Common Runtime and Private Spaces (if you use one). A green platform with a single sick app usually points at your dyno: restart it from the dashboard, or roll back to the last release.

  2. Heroku Scheduler runs are best-effort

    Heroku Scheduler does not retry. If a job was missed during the incident, run it manually via 'heroku run' or hit the equivalent endpoint with an external HTTP cron so the state gets caught up.

  3. Watch out for connection-pool exhaustion on recovery

    When the platform comes back, every dyno reconnects at once. A small connection limit on Heroku Postgres can fail those reconnects. Restart web dynos in small batches if you see Postgres errors right after an incident clears.

Keep firing through the incident

Schedule your own Heroku health check with Crontap

Heroku Scheduler runs at 10-minute, hourly, or daily intervals only, with no retries and no per-second cadence. Crontap drives the same task via an HTTP endpoint at any cadence (down to 1 minute on Pro), with retries and a full run log.

External HTTP cron hits your endpoint on the cadence you pick, stores every response, and emails you the moment a run fails. Pro schedules down to 1 minute; $3.25/mo annual flat for unlimited jobs.

Heroku status: FAQ

Is Heroku down right now?
status.heroku.com reports incidents per region and per component (Common Runtime, Private Spaces, Heroku Postgres). If your app is in the EU region and the status page shows a US-only incident, the platform itself is fine for you.
Why is Heroku Scheduler not running my job?
Common causes: the dyno hasn't been deployed since you added the schedule, the command in Heroku Scheduler crashes immediately, or a platform incident skipped the run. Scheduler doesn't retry, so a missed run is just gone.
What's a more reliable cron for Heroku apps?
Expose the same task as an HTTP endpoint on your existing dyno and trigger it with Crontap. You keep Heroku for compute, you get a real cron expression, retries on failure, and a record of every run.