я пытался бежать
heroku run rake db:migrate
И получал ошибку
Невозможно запустить более 1 динамометра свободного размера.
Ниже описано, как исправить...
я пытался бежать
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>
, чтобы остановить процесс.
- person John Beynon; 12.01.2016
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 :) Спасибо, Джон!
- person B. Bulpett; 13.01.2016
heroku ps:stop run.9121 --app my-app-name
Мой номер bash был 9121
. Вы можете увидеть свой с heroku ps
- person multigoodverse; 19.04.2016
Была точно такая же проблема и зашел на эту страницу. После прочтения понял о чем идет речь, но хочу добавить следующее.
просто беги
heroku kill DYNO --app your_app_name
После этого закройте все открытые консоли.
Затем запустите команду db migrate, она сработает.
В моем случае я запустил 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
OR
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)
Просто перезапустите все дино. heroku restart