What is Heroku H12?
H12 is a router request-timeout event emitted when a web request does not complete within the router's waiting window.
Heroku / Render · HTTP 503
Diagnose Heroku H12 by tracing router request IDs through dyno logs, database calls, and external services. Return promptly and process long work asynchronously.
Origin / Application
Paste a captured HTTP response or enter a status and headers. Only the status and response headers are sent; common credential headers are filtered first.
Diagnostic report
Error code / name
Fault domain
Origin / ApplicationHeroku's router stopped waiting because the web process did not return a response within the request window. A busy dyno, synchronous job, or slow dependency can keep the request occupied.
Heroku's router stopped waiting because the web process did not return a response within the request window. A busy dyno, synchronous job, or slow dependency can keep the request occupied.
Client -> Heroku Router -> Web dyno handles request -> no response before router deadline -> Xcurl -sS -I -w 'connect=%{time_connect} starttransfer=%{time_starttransfer} total=%{time_total}\n' --max-time 60 https://example.herokuapp.com/healthweb: bundle exec puma -C config/puma.rb
worker: bundle exec sidekiqSteadyNode measures request latency and alerts on repeated gateway timeouts, giving teams time to inspect dyno queues before H12 errors become an outage.
No credit card required.
Start for freeH12 is a router request-timeout event emitted when a web request does not complete within the router's waiting window.
Yes, when the request queues durable work and returns promptly instead of waiting for the entire job to finish.