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

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

heroku run rake db:migrate

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

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

Ниже описано, как исправить...


person Andrew    schedule 11.01.2016    source источник


Ответы (5)


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

в консоли запустить:

heroku ps

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

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

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

heroku ps:stop run.4859

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

person uomo_perfetto    schedule 15.11.2016
comment
Это помогло мне. И этот ответ более описательный, чем принятый ответ. - person Barun; 29.08.2019

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

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

person Andrew    schedule 11.01.2016
comment
Вы должны сделать это с помощью heroku ps, а затем heroku ps:stop <DYNO>, чтобы остановить процесс. - person John Beynon; 12.01.2016
comment
@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 :) Спасибо, Джон! - person B. Bulpett; 13.01.2016
comment
В качестве дополнения к комментарию Джона, вот документация от Heroku по остановке одноразового динамометра: devcenter.heroku.com/articles/ - person Martin B.; 31.03.2016
comment
В качестве альтернативы попробуйте: heroku ps:stop run.9121 --app my-app-name Мой номер bash был 9121. Вы можете увидеть свой с heroku ps - person multigoodverse; 19.04.2016
comment
Десять минут — это неплохо, мне понадобилось 14 часов ;-) — я думал, что это проблема кода (см. app-to-heroku-with-codeship/37693327#37693327" title="запуск миграций при развертывании приложения django в heroku с помощью codeship">stackoverflow.com/questions/37683102/) - person OBu; 08.06.2016
comment
Было бы хорошо пометить свой ответ как решение, так как это помогает другим просматривать похожие темы. - person OBu; 08.06.2016
comment
Просто «прикомандирую» OBu, это должен быть принятый ответ - person stevec; 31.05.2020

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

просто беги

heroku kill DYNO --app your_app_name

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

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

person Manas    schedule 26.07.2016

В моем случае я запустил 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)
person Zulhilmi Zainudin    schedule 11.12.2018

Просто перезапустите все дино. heroku restart

person Micah    schedule 07.04.2021