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

Відповідь полягає в тому, щоб шукати будь-які відкриті сеанси героку (ви можете використовувати "героку пс", як вказує Джон нижче), у моєму випадку я вже розпочав сесію консолі героку 30 хвилин раніше і просто забув про це. Отже, якщо ви бачите помилку "Не вдається запустити більше 1 безкоштовного розміру диноза", просто закрийте будь-яку існуючу консоль чи інші відкриті сеанси героку.

Сподіваюся, це рятує когось десять хвилин, які знадобилися мені, щоб я схаменувся.


29
Ви зробите це через, heroku psа потім, heroku ps:stop <DYNO>щоб зупинити процес.
Джон Бейнон

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

2
Або спробуйте: heroku ps:stop run.9121 --app my-app-nameМій номер башу був 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перезапустити всі dynos, і 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.