web-dev-qa-db-fra.com

Heroku: impossible d'exécuter plus d'un dynos de taille libre

J'essayais de courir 

heroku run rake db:migrate

Et recevait l'erreur 

Impossible d'exécuter plus d'un dynos de taille libre . Voir ci-dessous pour savoir comment réparer ...

56
Andrew

La solution consiste à rechercher les sessions heroku ouvertes (vous pouvez utiliser «heroku ps», comme le souligne john ci-dessous). Dans mon cas, j'avais déjà démarré une session de console heroku 30 minutes plus tôt et je l'avais simplement oublié. Donc, si vous voyez l’erreur "Ne peut pas exécuter plus d’un dynos de taille libre", fermez n’importe quelle console existante ou toute autre session heroku que vous avez ouverte. 

J'espère que cela épargnera à quelqu'un les dix minutes qu'il m'a fallu pour reprendre conscience. 

103
Andrew

Plus Efective

en mode console: 

heroku ps

le résultat est comme ça:

run.4859 (Free): up 2016/01/12 21:28:41 (~ 7m ago): Rails c

Les numéros 4859 représentent donc la session ouverte et doit être fermée. Pour corriger l'erreur que vous devez exécuter (évidemment, remplacez le nombre 4859 par le nombre obtenu):

heroku ps:stop run.4859

C'est une solution très simple.

71
uomo_perfetto

Avait exactement le même problème et est venu à cette page. Après avoir lu réalisé ce qui se passait mais je veux ajouter ce qui suit.

juste courir

heroku kill DYNO --app your_app_name

Après cela, fermez toutes les consoles ouvertes.

Ensuite, lancez la commande db migrate, cela fonctionnera. 

4
Manas

Dans mon cas, j'ai exécuté heroku ps:restart pour redémarrer all dynos et la commande heroku run * a fonctionné à nouveau.

Exemples

Si vous avez juste une télécommande Git pour Heroku, utilisez ceci:

heroku ps:restart && heroku run *

Si vous avez plusieurs télécommandes Git pour Heroku, utilisez ceci:

heroku ps:restart --remote your-remote-name && heroku run * --remote your-remote-name

OR

heroku ps:restart --app your-heroku-app-name && heroku run * --app your-heroku-app-name

Remplacez * par votre commande, par exemple. console pour la console Rails.


Ce que je voulais dire par your-heroku-app-name est le sous-domaine de votre application Heroku. Par exemple, si l'URL de votre application est https://cute-cat.herokuapp.com, cela signifie que your-heroku-app-name est cute-cat.

Si vous n'êtes pas sûr/avez oublié le nom de votre télécommande Git pour Heroku, git remote -v peut vous aider.

Exemple:

$ git remote -v
this-is-the-remote-name      https://git.heroku.com/xxx.git (fetch)
this-is-the-remote-name      https://git.heroku.com/xxx.git (Push)
this-is-another-remote-name  https://git.heroku.com/yyy.git (fetch)
this-is-another-remote-name  https://git.heroku.com/yyy.git (Push)
0
Zulhilmi Zainudin