it-swarm.com.de

Heroku: Es können nicht mehr als 1 Dynos freier Größe ausgeführt werden

Ich habe versucht zu rennen 

heroku run rake db:migrate

Und bekam den Fehler 

Es können nicht mehr als 1 Free Size-Dynos ausgeführt werden . Siehe unten, wie Sie das Problem beheben können ...

56
Andrew

Die Antwort ist, nach offenen Heroku-Sitzungen zu suchen (Sie können 'heroku ps' verwenden, wie john unten erläutert), in meinem Fall hatte ich bereits eine 30-minütige Heroku-Konsolensitzung und habe sie einfach vergessen. Wenn Sie also den Fehler "Kann nicht mehr als 1 freie Größe ausführen" sehen, schließen Sie einfach alle vorhandenen Konsolen- oder anderen geöffneten Herokusitzungen. 

Hoffentlich erspart dies jemand die zehn Minuten, die ich brauchte, um meine Sinne zu erreichen. 

103
Andrew

am effektivsten

in der Konsole ausführen: 

heroku ps

das Ergebnis sieht so aus:

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

Die Zahlen 4859 stellen also die Sitzung dar, die offen ist und geschlossen werden muss. Um den Fehler zu beheben, müssen Sie Folgendes ausführen (Ersetzen Sie die Nummer 4859 durch die erhaltene Nummer):

heroku ps:stop run.4859

Es ist eine sehr einfache Lösung.

71
uomo_perfetto

Hatte genau das gleiche Problem und kam auf diese Seite. Nach dem Lesen wurde klar, was los war, aber folgendes hinzufügen möchte.

renn einfach

heroku kill DYNO --app your_app_name

Schließen Sie danach alle offenen Konsolen.

Führen Sie dann den Befehl db migrate aus. 

4
Manas

In meinem Fall habe ich heroku ps:restart ausgeführt, um all dynos neu zu starten, und der heroku run *-Befehl funktionierte erneut.

Beispiele

Wenn Sie nur eine Git-Fernbedienung für Heroku haben, verwenden Sie diese:

heroku ps:restart && heroku run *

Wenn Sie mehrere Git-Fernbedienungen für Heroku haben, verwenden Sie diese:

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

Ersetzen Sie * durch Ihren Befehl, z. console für die Rails-Konsole.


Was ich mit your-heroku-app-name meinte, ist hier die Sub-Domain für Ihre Heroku-App. Wenn Ihre App-URL beispielsweise https://cute-cat.herokuapp.com lautet, bedeutet dies, your-heroku-app-name ist cute-cat.

Wenn Sie nicht sicher sind, wie Ihr Git-Remote-Name für Heroku ist, kann git remote -v Ihnen dabei helfen.

Beispiel:

$ 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