Jak zatrzymać aplikację na Heroku?

199

Mam aplikację na Heroku, z której korzysta niewielu użytkowników. Zauważam jednak, że istnieją pewne problemy z danymi, które chciałbym naprawić i zatrzymać aplikację w międzyczasie, aby użytkownicy nie wprowadzali niczego nowego.

Czy istnieje sposób, aby zatrzymać aplikację na heroku zamiast ją zniszczyć? Widzę, że jest tam polecenie restartu serwera ... chociaż nie widzę czegoś takiego jak „stop”

Jurij
źródło

Odpowiedzi:

305

Aby całkowicie „zatrzymać” aplikację, możesz skalować dynos WWW do zera, co skutecznie przełącza wszystkie procesy http aplikacji w tryb offline.

$ heroku ps:scale web=0
Scaling web processes... done, now running 0
Ryan Daigle
źródło
5
Przepraszam, noobness, wydaje się, że każde z poleceń może być właściwe. Na zdrowie
jrob00,
10
Gdy heroku ps:scale web=1
naprawisz
10
To jest właściwe rozwiązanie. Tryb konserwacji nie zatrzymuje aplikacji, tylko zapobiega jej ruchowi. To powinna być zaakceptowana odpowiedź.
jhoff
1
W Railsach, jeśli Twój plik Procfile ma linię rozpoczynającą się od sieci, użyj heroku ps:scale web=0, w przeciwnym razie możesz otrzymaćno such process type app defined in Procfile.
Minh Triet
2
Pamiętaj, że jeśli umieściłeś w swoim Procfile inne typy procesów, musisz również ustawić je na zero.
user3344977
173

http://devcenter.heroku.com/articles/maintenance-mode

Jeśli wdrażasz dużą migrację lub chcesz na pewien czas wyłączyć dostęp do swojej aplikacji, możesz użyć wbudowanego trybu konserwacji Heroku. Będzie on wyświetlał statyczną stronę wszystkim odwiedzającym, jednocześnie umożliwiając uruchamianie zadań prowizji lub poleceń konsoli.

$ heroku maintenance:on
Maintenance mode enabled.

i później

$ heroku maintenance:off
Maintenance mode disabled.
Daniel
źródło
1
Musiałem zamknąć aplikację Heroku, aby przetestować usługę monitorowania (Pingdom). Wydaje się, że nie ma sposobu na całkowite zatrzymanie aplikacji bez jej zniszczenia, tryb konserwacji zwraca status HTTP 503, więc jest odpowiedni do uruchomienia usługi monitorowania.
Jo Liss,
39

Idź do deski rozdzielczej na heroku. Wybierz aplikację. Istnieje sekcja dynos. Po prostu pociągnij suwaki dynos w dół (zmniejszenie liczby dynos jest po lewej), do liczby dynos, które chcesz uruchomić. Suwak zmienia się na 0. Następnie zapisz zmiany. Bum.

Zgodnie z komentarzem poniżej: w tym celu należy kliknąć ikonę ołówka. Nie sprawdziłem - ale umieszczam to tutaj na wypadek, gdyby to pomogło.

zero_cool
źródło
5
Ah dziękuję. W nowszym pulpicie nawigacyjnym musisz najpierw kliknąć małą ikonę ołówka, aby przełączyć aplikację w tryb edycji, a następnie możesz uruchomić suwak.
mwp
30

Być może będziesz musiał być bardziej szczegółowy i podać również nazwę aplikacji (jest to nazwa aplikacji, tak jak masz ją w heroku). Na przykład:

heroku ps:scale web=0 --app myAppName 

W przeciwnym razie może pojawić się następujący komunikat:

 % 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.
maudulus
źródło
16

Z sieci Heroku

Dashboard => Your App Name => Resources => Pencil icon=> Flip the switch => Confirm
Juanma Menendez
źródło
Proste rozwiązanie. Pracować w porządku. :)
Naveen Kumar V
6

Możesz wyłączyć aplikację, używając trybu konserwacji z panelu administracyjnego.

  • Przejdź do kart ustawień.
  • Na dole tuż przed usunięciem aplikacji. włącz tryb konserwacji. patrz zrzut ekranu poniżej.

wprowadź opis zdjęcia tutaj

imran khan
źródło
Prosty w użyciu i elegancki.
Tomer,
1
Tryb konserwacji nie zatrzymuje hamowni, po prostu blokuje wszystkie przychodzące żądania HTTP. Jeśli masz uruchomiony jakiś proces w tle, będzie on nadal działał. Zobacz dokument Heroku: devcenter.heroku.com/articles/maintenance-mode
Antoine Beloeuvre
3

Jeśli używasz wtyczki Eclipse, kliknij dwukrotnie nazwę aplikacji w Moich aplikacjach Heroku. Na karcie Procesy naciśnij przycisk Skaluj. Pojawi się małe okno. Zwiększ / zmniejsz liczbę i po prostu powiedz OK.

ats
źródło
2

Aby usunąć aplikację Heroku

To jest dla tych, którzy chcą USUNĄĆ aplikację na swoim koncie Heroku. Czasami kończy się tutaj, gdy próbujesz dowiedzieć się, jak usunąć / usunąć aplikację.

OSTRZEŻENIE: Jest to nieodwracalne!

  • Przejdź do pulpitu nawigacyjnego Heroku tutaj
  • Wybierz aplikację, którą chcesz usunąć.
  • Przewiń w dół na dole strony ustawień tej aplikacji.
  • Naciśnij czerwony przycisk Usuń aplikację ...
CodeValve
źródło
OP wyraźnie oświadczyło, że chcą „zatrzymać aplikację na heroku zamiast ją zniszczyć”. Podkreślam to tylko dlatego, że z jakiegokolwiek powodu Bing pokazuje tę odpowiedź jako odpowiedź.
Yoshi Askharoun
Dzięki! Może to powinno zostać przeniesione w inne miejsce?
CodeValve
2

Aby dodać do powyższych odpowiedzi: jeśli chcesz zatrzymać Dyno za pomocą panelu administracyjnego, obecne rozwiązanie w warstwie wolnej:

  1. Otworzyć aplikację
  2. Na karcie Przegląd, w sekcji „Tworzenie dyno” kliknij „Konfiguruj Dynos”
  3. W wymaganym wierszu sekcji „Darmowe Dynos” kliknij ikonę ołówka po prawej stronie
  4. Kliknij niebieski przycisk włączania / wyłączania, a następnie kliknij „Potwierdź”

Mam nadzieję że to pomoże.

adlerer
źródło