Could H10 errors ever be produced by non-web dynos?

Issue

When your app's web dynos have crashed, any requests made to your app will be accompanied by an H10 error ("App crashed") in your logs. It might sound helpful for your worker dynos to offer a similar form of notification when they have crashed.

Resolution

When a request to your app receives an H10 error, this actually isn't a direct representation of the state of your app's web dynos. Instead, H10 errors are only reported when a web request hits your app and the app, despite having one or more web dynos, is unable to respond to that request due to all web dynos being in a "crashed" state.

In light of the fact that H10 errors are only produced when a web request is sent to an app, it makes sense that a non-web dyno (i.e. a worker dyno) is not able to produce an H10 error. Even if it is in a crashed state, no web request will ever be sent to such a dyno. Therefore, it is not possible for such an error code to be triggered.

The best way to keep tabs on the state of your app at any given point in time is state monitoring. This can be done in many ways, but a good place to start would be to read about uptime monitoring in addition to visiting the monitoring category in our add-ons marketplace where you can find add-ons that will alert you when a dynos has crashed, despite the type.

As an aside, it is interesting to note that H10 errors are actually very similar to H14 errors. While an H10 error means that an app has web dynos that are not able to fulfill a request, an H14 error means that the app has no web dynos at all. In either case, the app is unable to respond to web requests.

Ask on Stack Overflow

Engage with a community of passionate experts to get the answers you need

Ask on Stack Overflow

Heroku Support

Create a support ticket and our support experts will get back to you

Contact Heroku Support