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»

yuri
la source

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
Ryan Daigle
la source
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.
daniel
la source
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.

zero_cool
la source
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.
maudulus
la source
17

Depuis le Web Heroku

Dashboard => Your App Name => Resources => Pencil icon=> Flip the switch => Confirm
Juanma Menendez
la source
Solution simple. Ça marche bien. :)
Naveen Kumar V
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

Imran Khan
la source
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.

ats
la source
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 ...
CodeValve
la source
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.

adlerer
la source