Heroku: нельзя запустить более 1 динамометрического стенда свободного размера


82

Я пытался бежать

heroku run rake db:migrate

И получал ошибку

Невозможно запустить более 1 дино свободного размера.

См. Ниже, как исправить ...

Ответы:


119

Самый эффективный

в консоли:

heroku ps

результат примерно такой:

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

Таким образом, числа 4859 представляют сессию, которая открыта и должна быть закрыта. Для исправления ошибки нужно запустить (очевидно, заменить число 4859 на полученное число):

heroku ps:stop run.4859

Это очень простое решение.


Это мне помогло. И этот ответ более информативен, чем принятый ответ.
Барун

127

Ответ - искать любые открытые сеансы heroku (вы можете использовать «heroku ps», как указывает Джон ниже), в моем случае я уже запустил консольный сеанс heroku 30 минут назад и просто забыл об этом. Поэтому, если вы видите ошибку «Невозможно запустить более 1 дино свободного размера», просто закройте любую существующую консоль или другие открытые сеансы heroku.

Надеюсь, это сэкономит мне десять минут, чтобы прийти в себя.


29
Вы должны сделать это через, heroku psа затем heroku ps:stop <DYNO>остановить процесс.
Джон Бейнон

14
@JohnBeynon Мне это нравится как правильный ответ. Спас мою задницу! К сведению других: первая команда ( heroku ps) похожа на linux "netstat". Покажет вам запущенные процессы. В моем случае это выглядело так run.5656 (Free): up 2016/01/12 21:28:41 (~ 7m ago): rails c. Как видите, я по ошибке оставил консоль rails открытой. Так что все, что мне нужно было сделать, это бежать heroku ps:stop run.5656. Easy Peasy :) Спасибо, Джон!
Б. Булпетт,

2
В качестве альтернативы попробуйте: heroku ps:stop run.9121 --app my-app-nameмой номер bash был 9121. Вы можете увидеть свое сheroku ps
multigoodverse

1
Через десять минут вполне хорошо, мне нужно 14 часов ;-) - Я думал , что это была проблема codeship (см stackoverflow.com/questions/37683102/... )
OBu

2
Было бы хорошо пометить свой ответ как «решение», поскольку это помогает другим просматривать похожие темы.
OBu

6

Была точно такая же проблема и пришла на эту страницу. После прочтения понял в чем дело но хочу добавить следующее.

просто беги

heroku kill DYNO --app your_app_name

После этого закройте все открытые консоли.

Затем запустите команду db migrate, она будет работать.


1

В моем случае я побежал heroku ps:restartперезапустить все дино, и heroku run *команда снова сработала.

Примеры

Если у вас есть только один пульт Git для Heroku, используйте это:

heroku ps:restart && heroku run *

Если у вас есть несколько пультов Git для Heroku, используйте это:

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

ИЛИ ЖЕ

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

Замените *своей командой, например, consoleдля консоли Rails.


Здесь я имел в виду your-heroku-app-nameподдомен для вашего приложения Heroku. Например, если ваше приложение URL является https://cute-cat.herokuapp.com, это означает , что your-heroku-app-nameесть cute-cat.

Если вы не уверены / забыли, какое у вас удаленное имя Git для Heroku, git remote -vмогу вам в этом помочь.

Пример:

$ 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)
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.