Comment arrêter une application sur Heroku?


199

J'ai une application sur Heroku qui est utilisée par peu d'utilisateurs. Cependant, je remarque qu'il y a des problèmes de données que je voudrais résoudre et arrêter l'application en attendant que les utilisateurs n'entrent rien de nouveau.

Existe-t-il un moyen d'arrêter l'application sur Heroku plutôt que de la détruire? Je vois que la commande de redémarrage du serveur est là ... bien que je ne vois rien comme «stop»

Réponses:


305

Pour «arrêter» complètement votre application, vous pouvez réduire les dynos Web à zéro, ce qui met tous vos processus http hors ligne.

$ heroku ps:scale web=0
Scaling web processes... done, now running 0

5
Excusez ma noblesse, il semble que les commandes peuvent être appropriées. Cheers
jrob00

10
Lorsque vous avez fixé ce que vous voulez, n'oubliez pas de le faire: heroku ps:scale web=1encore une fois, sinon votre application ne reviendra jamais ...
mjnissim

11
Ceci est la bonne solution. Le mode de maintenance n'arrête pas réellement l'application, il empêche seulement le trafic vers elle. Cela devrait être la réponse acceptée.
jhoff

1
Dans Rails, si votre Procfile a une ligne commencée avec le web, alors utilisez heroku ps:scale web=0, sinon vous pouvez recevoirno such process type app defined in Procfile.
Minh Triet

2
Gardez à l'esprit que si vous avez répertorié d'autres types de processus dans votre Procfile, vous devrez également les mettre à zéro.
user3344977

173

http://devcenter.heroku.com/articles/maintenance-mode

Si vous déployez une migration importante ou devez désactiver l'accès à votre application pendant un certain temps, vous pouvez utiliser le mode de maintenance intégré de Heroku. Il servira une page statique à tous les visiteurs, tout en vous permettant d'exécuter des tâches de râteau ou des commandes de console.

$ heroku maintenance:on
Maintenance mode enabled.

et ensuite

$ heroku maintenance:off
Maintenance mode disabled.

1
J'ai dû fermer mon application Heroku pour tester un service de surveillance (Pingdom). Il ne semble pas y avoir de moyen d'arrêter complètement une application sans la détruire, le mode de maintenance renvoie le statut HTTP 503, il convient donc au déclenchement du service de surveillance.
Jo Liss du

39

Accédez à votre tableau de bord sur heroku. Sélectionnez l'application. Il y a une section dynos. Tirez simplement les curseurs pour les dynos vers le bas, (une diminution des dynos est à gauche), jusqu'au nombre de dynos que vous souhaitez exécuter. Le curseur passe à 0. Enregistrez ensuite vos modifications. Boom.

Selon le commentaire ci-dessous: il y a une icône de crayon qui doit être cliquée pour accomplir cela. Je n'ai pas vérifié - mais je le mets ici au cas où cela aiderait.


5
Ah merci. Dans le tableau de bord plus récent, vous devez d'abord cliquer sur la petite icône de crayon pour mettre l'application en mode édition, puis vous pouvez travailler le curseur.
mwp

31

Vous devrez peut-être être plus précis et spécifier également le nom de l'application (c'est le nom de l'application tel que vous l'avez dans Heroku). Par exemple:

heroku ps:scale web=0 --app myAppName 

Sinon, vous pourriez obtenir le message suivant:

 % heroku ps:scale web=0
Scaling dynos... failed
 !    No app specified.
 !    Run this command from an app folder or specify which app to use with --app APP.


6

Vous pouvez désactiver l'application à l'aide du mode d'activation de la maintenance depuis le panneau d'administration.

  • Accédez aux onglets des paramètres.
  • En bas juste avant de supprimer l'application. activer le mode de maintenance. voir dans la capture d'écran ci-dessous.

entrez la description de l'image ici


Simple à utiliser et élégant.
Tomer

1
Le mode maintenance n'arrête pas le dyno, il bloque simplement toutes les requêtes HTTP entrantes. Si un processus d'arrière-plan est en cours d'exécution, il continuera de fonctionner. Voir le document Heroku: devcenter.heroku.com/articles/maintenance-mode
Antoine Beloeuvre

3

Si vous utilisez le plugin eclipse, double-cliquez sur le nom de l'application dans Mes applications Heroku. Dans l'onglet Processus, appuyez sur le bouton Echelle. Une petite fenêtre apparaîtra. Augmentez / diminuez le nombre et dites simplement OK.


2

POUR SUPPRIMER votre application Heroku

C'est pour ceux qui cherchent à SUPPRIMER une application sur leur compte Heroku. Parfois, vous vous retrouvez ici lorsque vous essayez de savoir comment supprimer / supprimer une application.

AVERTISSEMENT: c'est irréversible!

  • Accédez à votre tableau de bord Heroku ici
  • Sélectionnez l'application que vous souhaitez supprimer.
  • Faites défiler vers le bas de la page des paramètres de cette application.
  • Appuyez sur le bouton rouge Supprimer l'application ...

OP a explicitement déclaré vouloir "arrêter l'application sur heroku plutôt que la détruire". Je le signale seulement parce que pour une raison quelconque, Bing montre cette réponse comme réponse.
Yoshi Askharoun

Merci! Peut-être que cela devrait être déplacé vers une autre zone?
CodeValve

2

Pour ajouter aux réponses ci-dessus: si vous souhaitez arrêter Dyno à l'aide du panneau d'administration, la solution actuelle sur le niveau gratuit:

  1. Ouvrir application
  2. Dans l'onglet Présentation, dans la section "Formation Dyno", cliquez sur "Configurer Dynos"
  3. Dans la ligne souhaitée de la section "Free Dynos", cliquez sur l'icône en forme de crayon à droite
  4. Cliquez sur le bouton bleu marche / arrêt, puis cliquez sur "Confirmer"

J'espère que cela t'aides.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.