Heroku: nie można uruchomić więcej niż 1 hamowni o dowolnym rozmiarze


82

Próbowałem biec

heroku run rake db:migrate

I otrzymywałem błąd

Nie można uruchomić więcej niż 1 hamowni o dowolnym rozmiarze.

Zobacz poniżej, jak naprawić ...

Odpowiedzi:


119

Najbardziej efektywne

w uruchomieniu konsoli:

heroku ps

wynik jest taki:

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

Więc liczby 4859 reprezentują sesję, która jest otwarta i musi zostać zamknięta. Aby naprawić błąd, który musisz uruchomić (Obviusly, zastąp liczbę 4859 uzyskaną liczbą):

heroku ps:stop run.4859

To bardzo proste rozwiązanie.


To mi pomogło. Ta odpowiedź jest bardziej opisowa niż akceptowana odpowiedź.
Barun

127

Odpowiedzią jest szukanie otwartych sesji heroku (możesz użyć „heroku ps”, jak wskazuje john poniżej), w moim przypadku rozpocząłem już sesję konsoli heroku 30 minut wcześniej i po prostu o niej zapomniałem. Jeśli więc zobaczysz błąd „Nie można uruchomić więcej niż 1 hamowni o wolnym rozmiarze”, po prostu zamknij wszystkie istniejące konsole lub inne otwarte sesje heroku.

Mam nadzieję, że to zaoszczędzi komuś dziesięć minut, które zajęło mi dojście do siebie.


29
Zrobisz to przez, heroku psa następnie heroku ps:stop <DYNO>zatrzymasz proces.
John Beynon

14
@JohnBeynon Podoba mi się to jako poprawna odpowiedź. Uratował mój tyłek! FYI dla innych: pierwsza komenda ( heroku ps) jest jak linux "netstat". Pokaże Ci uruchomione procesy. W moim przypadku to wyglądało run.5656 (Free): up 2016/01/12 21:28:41 (~ 7m ago): rails c. Jak widać przez pomyłkę zostawiłem otwartą konsolę szyn. Musiałem więc tylko biec heroku ps:stop run.5656. Easy Peasy :) Dzięki John!
B. Bulpett

2
Ewentualnie spróbuj: heroku ps:stop run.9121 --app my-app-nameMój numer basha to 9121. Możesz zobaczyć swoje zheroku ps
multigoodverse

1
Dziesięć minut to całkiem dobrze, potrzebowałem 14 godzin ;-) - Myślałem, że to problem z kodem (patrz stackoverflow.com/questions/37683102/… )
OBu

2
Dobrze byłoby oznaczyć własną odpowiedź jako „rozwiązanie”, ponieważ ułatwia to innym przeglądanie podobnych tematów.
OBu

6

Miałem dokładnie ten sam problem i trafiłem na tę stronę. Po przeczytaniu zdałem sobie sprawę, co się dzieje, ale chcesz dodać następujące.

po prostu biegnij

heroku kill DYNO --app your_app_name

Po tym zamknij wszystkie otwarte konsole.

Następnie uruchom komendę db migrate, zadziała.


1

W moim przypadku pobiegłem, heroku ps:restartaby zrestartować wszystkie hamownie i heroku run *polecenie ponownie zadziałało.

Przykłady

Jeśli masz tylko jednego pilota Git do Heroku, użyj tego:

heroku ps:restart && heroku run *

Jeśli masz wiele pilotów Git dla Heroku, użyj tego:

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

LUB

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

Zastąp *swoją komendą, np. consoleDla konsoli Rails.


Miałem your-heroku-app-nametutaj na myśli subdomenę Twojej aplikacji Heroku. Na przykład jeśli adres URL Twojej aplikacji to https://cute-cat.herokuapp.com, oznacza your-heroku-app-nameto cute-cat.

Jeśli nie jesteś pewien / zapomniałeś, jaka jest twoja zdalna nazwa Git dla Heroku, git remote -vmoże ci w tym pomóc.

Przykład:

$ 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)
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.