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:
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.
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.
heroku ps
a następnie heroku ps:stop <DYNO>
zatrzymasz proces.
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!
heroku ps:stop run.9121 --app my-app-name
Mój numer basha to 9121
. Możesz zobaczyć swoje zheroku ps
W moim przypadku pobiegłem, heroku ps:restart
aby 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. console
Dla konsoli Rails.
Miałem your-heroku-app-name
tutaj 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-name
to cute-cat
.
Jeśli nie jesteś pewien / zapomniałeś, jaka jest twoja zdalna nazwa Git dla Heroku, git remote -v
moż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)