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ć ...

Andrzej
źródło

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.

uomo_perfetto
źródło
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.

Andrzej
źródło
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.

Manas
źródło
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)
Zulhilmi Zainudin
źródło