Я намагався бігти
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
Це дуже просте рішення.
Відповідь полягає в тому, щоб шукати будь-які відкриті сеанси героку (ви можете використовувати "героку пс", як вказує Джон нижче), у моєму випадку я вже розпочав сесію консолі героку 30 хвилин раніше і просто забув про це. Отже, якщо ви бачите помилку "Не вдається запустити більше 1 безкоштовного розміру диноза", просто закрийте будь-яку існуючу консоль чи інші відкриті сеанси героку.
Сподіваюся, це рятує когось десять хвилин, які знадобилися мені, щоб я схаменувся.
heroku ps
а потім, heroku ps:stop <DYNO>
щоб зупинити процес.
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 :) Спасибі Джон!
heroku ps:stop run.9121 --app my-app-name
Мій номер башу був 9121
. Ви можете побачити свою зheroku ps
У моєму випадку я побіг 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)