Recovering an Offline Application

Last Updated: 02 April 2014

debugging errors troubleshooting

Table of Contents

Your application may be experiencing downtime for a number of reasons. This article will help you discover why and what you can do to remedy the problem.

Check your application logs

The first step is to check your application’s logs. Many common application errors as well as Heroku’s errors are printed to your applications logs. To view your logs, run:

$ heroku logs

Note that many frameworks, including Ruby on Rails, will serve a default error page for your application when there are errors. You can compare this to Heroku’s error page which is used when one of Heroku’s error codes is the cause of the issue.

If your logs show one of Heroku’s error codes, you should investigate the cause of this issue. Our descriptions of these errors is the best place to start.

Check your processes

Check on the current status of your process formation:

$ heroku ps

This will tell you the current state of your application’s dynos. Ensure you are running the right number of each process type (at least one) and your dynos are booting correctly.

$ heroku scale web=1

If your dynos are crashed, restarting the app can help debug the issue.

Restart your application

If the problem is not immediately present, it can be helpful to restart your application, tail your logs, and then try viewing your application in a web browser.

$ heroku restart
$ heroku logs --tail
$ heroku open

Some application issues are solved by restart. For example, your application may need to be restarted after a schema change to your database, or if recent Heroku maintenance affected your application.

Test using curl

If you do not have curl on your computer, you can use http://hurl.it/ to run curl from your web browser.

A number of issues can be detected using curl:

$ curl -v http://example.herokuapp.com/

Testing your herokuapp.com hostname in addition to your custom domains will help determine if the issue is specific to your custom domain or your application.

Some common issues you may discover are:

Check application health

Heroku provides several additional tools to check the health of your application.

Review advice for production applications

Your application may be affected by an issue that would best be mitigated by modifying how your Heroku application is running on the platform. Production Check is a great tool for ensuring that your app is ready to run on the platform in production.

Check platform status

An active or recent incident could cause your application to be unavailable or unstable. You should check Heroku’s status site to see if your application is affected.

Ask for help

If you are still unable to determine why your application is down, get in touch with us via our support channels.