Як зупинити додаток на Heroku?


199

У мене є додаток на Heroku, яким користуються мало користувачів. Однак я помічаю, що є деякі проблеми з даними, які я хотів би виправити та зупинити додаток в середній час, щоб користувачі не вводили нічого нового.

Чи є спосіб зупинити додаток на heroku, а не знищити його? Я бачу, що команда перезавантаження сервера є ... хоча я не бачу нічого подібного до "стоп"

Відповіді:


305

Щоб повністю «зупинити» ваш додаток, ви можете зменшити розмір веб-диносу до нуля, що фактично переносить усі ваші http-процеси в офлайн.

$ heroku ps:scale web=0
Scaling web processes... done, now running 0

5
Вибачте мій noobness, здається, що будь-які команди можуть бути доречними. Ура
jrob00

10
Коли ви виправили те, що хочете, не забудьте зробити: heroku ps:scale web=1ще раз, інакше ваша програма ніколи не оживе ...
mjnissim

10
Це правильне рішення. Режим обслуговування фактично не зупиняє додаток, він лише запобігає трафіку до нього. Це має бути прийнятою відповіддю.
jhoff

1
У Rails, якщо ваш Procfile має лінію, розпочату з Інтернету, тоді використовуйте heroku ps:scale web=0, інакше ви можете отриматиno such process type app defined in Procfile.
Minh Triet

2
Майте на увазі, що якщо ви перерахували інші типи процесів у своєму Procfile, вам також потрібно буде встановити їх на нуль.
користувач3344977

173

http://devcenter.heroku.com/articles/main Main-mode

Якщо ви розгортаєте велику міграцію або вам потрібно відключити доступ до вашої програми на деякий час, ви можете використовувати вбудований в режимі обслуговування Heroku режим. Він буде обслуговувати статичну сторінку для всіх відвідувачів, при цьому все ще дозволяє виконувати завдання граблі або консольні команди.

$ heroku maintenance:on
Maintenance mode enabled.

і пізніше

$ heroku maintenance:off
Maintenance mode disabled.

1
Мені потрібно було вимкнути додаток Heroku, щоб перевірити службу моніторингу (Pingdom). Здається, не існує способу повністю зупинити додаток, не руйнуючи його, режим технічного обслуговування повертає статус HTTP 503, тому він підходить для запуску служби моніторингу.
Джо Лісс

39

Зайдіть на свою панель приладів на героїку. Виберіть додаток. Є секція диноса. Просто потягніть повзунки для диноса вниз (зменшення диноса - ліворуч), до кількості диносів, які ви хочете запустити. Слайдер переходить до 0. Потім збережіть зміни. Бум.

Відповідно до коментаря нижче: є значок олівця, який потрібно натиснути для цього. Я не перевіряв - але вкладаю його сюди, якщо це допоможе.


5
Ах, дякую. На новій інформаційній панелі спочатку потрібно натиснути маленьку піктограму олівця, щоб перевести програму в режим редагування, потім можна працювати повзунком.
mwp

30

Можливо, вам доведеться бути більш конкретними і вказати ім’я програми (це ім’я програми, як у вас є в героку). Наприклад:

heroku ps:scale web=0 --app myAppName 

В іншому випадку ви можете отримати таке повідомлення:

 % heroku ps:scale web=0
Scaling dynos... failed
 !    No app specified.
 !    Run this command from an app folder or specify which app to use with --app APP.


6

Ви можете відключити додаток, використовуючи режим увімкнення обслуговування на панелі адміністратора.

  • Перейдіть на вкладки налаштувань.
  • Внизу, безпосередньо перед видаленням програми. включити режим технічного обслуговування. дивіться на скріншоті нижче.

введіть тут опис зображення


Простий у використанні та елегантний.
Томер

1
Режим обслуговування не зупиняє dyno, він просто блокує всі вхідні запити HTTP. Якщо у вас запущений фоновий процес, він буде продовжувати працювати. Дивіться Heroku doc: devcenter.heroku.com/articles/maintenance-mode
Антуан Білоувр

3

Якщо ви використовуєте плагін eclipse, двічі клацніть ім'я програми в розділі Мої програми Heroku. На вкладці "Процеси" натисніть кнопку "Масштаб". З'явиться невелике вікно. Збільшити / зменшити кількість і просто сказати ОК.


2

Зняти додаток Heroku

Це для тих, хто хоче ВІДКРИТИ додаток у своєму обліковому записі Heroku. Іноді ви опиняєтесь тут, намагаючись дізнатися, як видалити / видалити додаток.

УВАГА: Це незворотно!

  • Перейдіть на свою інформаційну панель Heroku тут
  • Виберіть додаток, який потрібно видалити.
  • Прокрутіть донизу сторінку налаштувань цього додатка.
  • Натисніть червону кнопку Видалити додаток ...

ОП прямо заявила, що вони хочуть "зупинити додаток на герочку, а не знищувати його". Я зазначу це лише тому, що з будь-якої причини Бінг показує цю відповідь як відповідь.
Йоші Асхарун

Дякую! Може, це слід перенести в іншу область?
CodeValve

2

Щоб додати відповіді вище: якщо ви хочете зупинити Dyno на панелі адміністратора, поточне рішення на вільному рівні:

  1. Відкрийте додаток
  2. На вкладці Огляд у розділі "Формування дино" натисніть "Налаштувати Dynos"
  3. У потрібному рядку розділу "Безкоштовний Dynos" натисніть на значок олівця праворуч
  4. Клацніть на синій елемент увімкнення / вимкнення, а потім натисніть кнопку "Підтвердити"

Сподіваюсь, це допомагає.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.