Я пытался бежать
heroku run rake db:migrate
И получал ошибку
Невозможно запустить более 1 дино свободного размера.
См. Ниже, как исправить ...
Ответы:
Самый эффективный
в консоли:
heroku ps
результат примерно такой:
run.4859 (Free): up 2016/01/12 21:28:41 (~ 7m ago): rails c
Таким образом, числа 4859 представляют сессию, которая открыта и должна быть закрыта. Для исправления ошибки нужно запустить (очевидно, заменить число 4859 на полученное число):
heroku ps:stop run.4859
Это очень простое решение.
Ответ - искать любые открытые сеансы heroku (вы можете использовать «heroku ps», как указывает Джон ниже), в моем случае я уже запустил консольный сеанс heroku 30 минут назад и просто забыл об этом. Поэтому, если вы видите ошибку «Невозможно запустить более 1 дино свободного размера», просто закройте любую существующую консоль или другие открытые сеансы heroku.
Надеюсь, это сэкономит мне десять минут, чтобы прийти в себя.
heroku ps
а затем heroku ps:stop <DYNO>
остановить процесс.
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 :) Спасибо, Джон!
heroku ps:stop run.9121 --app my-app-name
мой номер bash был 9121
. Вы можете увидеть свое сheroku ps
В моем случае я побежал 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)