235
votes

Locally I just interrupt (ctrl-c) and then start it again.

How do I do the same thing with an app on heroku?

5
Be careful not to over-eagerly translate the development environment's $ rails restart into its equivalent on Heroku: $ heroku rails restart. This command relies on spring which (usually) won't be installed on Heroku. Therefore go with heroku restart like the others have said.Jack Kinsella

5 Answers

454
votes

The answer was:

heroku restart -a app_name

# The -a is the same as --app

Easily aliased with alias hra='heroku restart --app '
Which you can make a permanent alias by adding it to your .bashrc or .bash_aliases file as described at: https://askubuntu.com/questions/17536/how-do-i-create-a-permanent-bash-alias and
Creating permanent executable aliases
Then you can just type hra app_name

You can restart a specific remote, e.g. "staging" with:

heroku restart -a app_name -r remote_name

Alternatively if you are in the root directory of your rails application you can just type

heroku restart

to restart that app and and you can create an easy alias for that with

alias hr='heroku restart'`

You can place these aliases in your .bashrc file or (preferred) in a .bash_aliases file which is called from .bashrc

37
votes

Go into your application directory on terminal and run following command:

heroku restart
22
votes

If you have several heroku apps, you must type heroku restart --app app_name or heroku restart -a app_name

17
votes

Just type the following commands from console.

cd /your_project
heroku restart
15
votes
heroku ps:restart [web|worker] --app app_name

works for all processes declared in your Procfile. So if you have multiple web processes or worker processes, each labeled with a number, you can selectively restart one of them:

heroku ps:restart web.2 --app app_name
heroku ps:restart worker.3 --app app_name