Version1.0
RéférantAlexandre Narbonne
Dernière modification05/12/2016
CibleRoots
Mots clésHeroku, redémarrage, dynos

Historique

VersionAuteurCommentairedate
1.0Alexandre NarbonneCréation05/12/2016

Présentation

Cette procédure explique comment démarrer/arrêter/redémarrer une application (un dyno) sur Heroku.

Les applications heroku sont executé dans des dynos. Les Dynos sont des environnements d'execution séparés ne pouvant pas interagir avec les autres dynos.

Une application peut instancier plusieurs dynos du meme processus pour augmenter la resistance à la charge (load balancing entre plusieurs instances de l'application)

Elle peut également avoir plusieurs dynos pour des processus différents :

Droits nécessaires

Accès à l'utilisateur [email protected] sur heroku ou un utilisateur admin sur l'application cible

 

Procédure

Solution 1 : Via l'interface Web

Connectez-vous à https://dashboard.heroku.com/apps et cliquez sur l'application à administrer :
 

Sélectionnez l'environnement cible :
 

Atteignez l'onglet "Ressources"
 

Sélectionnez le processus et ajustez le nombre de dynos en fonction du besoin (pour les dynos "Hobby" il n'est pas possible d'avoir plusieurs dyno pour 1 processus)

Pour arrêter l'application, supprimez tout les dynos

Solution 2 : Via l'interface en ligne de commande

Installer la CLI heroku si ce n'est pas déjà fait : https://devcenter.heroku.com/articles/heroku-cli

Listez les dynos disponibles avec :

heroku ps:resize -a [nom_de_l_appli]

Exemple :

heroku ps:resize -a gorg-mail
>>>>>
type              size   qty  cost/mo
────────────────  ─────  ───  ───────
console           Hobby  0    0
rake              Hobby  0    0
service_rabbitmq  Hobby  1    7
web               Hobby  1    7
worker            Hobby  0    0

Modifiez le nombre de dynos avec :

heroku ps:scale -a [nom_de_l_appli] [nom_du_dyno]=[nombre_de_dynos]

Exemple :

heroku ps:scale -a gorg-mail worker=1
Scaling dynos... done, now running worker at 1:Hobby

Redémarrez un dyno avec :

heroku ps:restart -a [nom_de_l_appli] [nom_du_dyno]

Exemple :

heroku ps:restart -a gorg-mail worker
Restarting worker dynos on gorg-mail... done