Skip to content
MtrXTools

code=H12 desc="Request timeout"

A Heroku request took longer than 30 seconds

Seen in Heroku router logs

The Heroku router waited 30 seconds for the app to start a response, then gave up and returned 503.

Common causes

  • Slow database queries or external API calls.
  • Long-running work such as reports, imports or image processing done inside the web request.
  • All web workers are busy, so requests queue until they time out.

How to fix it

  1. Move work that can exceed 30 seconds to a worker dyno and background job queue.
  2. Find the slow endpoints in your logs or APM and optimise them.
  3. Add more web processes or dynos if requests are queueing.

Got a different message? Paste it into the error explainer.

Related errors

All 51 HTTP & CDN errors