Wie stoppe ich eine App auf Heroku?

198

Ich habe eine App auf Heroku, die nur von wenigen Benutzern verwendet wird. Ich stelle jedoch fest, dass es einige Datenprobleme gibt, die ich in der Zwischenzeit beheben und die App stoppen möchte, damit Benutzer nichts Neues eingeben.

Gibt es eine Möglichkeit, die App auf Heroku zu stoppen, anstatt sie zu zerstören? Ich sehe, dass der Befehl zum Neustart des Servers vorhanden ist ... obwohl ich nichts wie "Stopp" sehe.

Yuri
quelle

Antworten:

303

Um Ihre App vollständig zu stoppen, können Sie die Web-Dynos auf Null verkleinern, wodurch alle http-Prozesse Ihrer App effektiv offline geschaltet werden.

$ heroku ps:scale web=0
Scaling web processes... done, now running 0
Ryan Daigle
quelle
5
Entschuldigen Sie meine Noobness, es scheint, dass beide Befehle angemessen sein können. Prost
jrob00
10
Wenn Sie festgelegt haben, was Sie möchten, vergessen Sie nicht, es heroku ps:scale web=1erneut zu tun , sonst wird Ihre App nie wiederbelebt ...
mjnissim
10
Dies ist die richtige Lösung. Der Wartungsmodus stoppt die App nicht, sondern verhindert nur den Datenverkehr. Dies sollte die akzeptierte Antwort sein.
jhoff
1
In Rails, wenn Ihr Procfile eine Zeile mit Web gestartet hat, dann verwenden Sie heroku ps:scale web=0, sonst erhalten Sie möglicherweiseno such process type app defined in Procfile.
Minh Triet
2
Beachten Sie, dass Sie, wenn Sie andere Prozesstypen in Ihrem Procfile aufgelistet haben, diese ebenfalls auf Null setzen müssen.
user3344977
172

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

Wenn Sie eine große Migration bereitstellen oder den Zugriff auf Ihre Anwendung für einige Zeit deaktivieren müssen, können Sie den integrierten Wartungsmodus von Heroku verwenden. Es wird allen Besuchern eine statische Seite zur Verfügung gestellt, während Sie weiterhin Rechenaufgaben oder Konsolenbefehle ausführen können.

$ heroku maintenance:on
Maintenance mode enabled.

und später

$ heroku maintenance:off
Maintenance mode disabled.
Daniel
quelle
1
Ich musste meine Heroku-App herunterfahren, um einen Überwachungsdienst (Pingdom) zu testen. Es scheint keine Möglichkeit zu geben, eine App vollständig zu stoppen, ohne sie zu zerstören. Der Wartungsmodus gibt den HTTP-Status 503 zurück und eignet sich daher zum Auslösen des Überwachungsdienstes.
Jo Liss
39

Gehen Sie zu Ihrem Dashboard auf Heroku. Wählen Sie die App aus. Es gibt einen Dynos-Bereich. Ziehen Sie einfach die Schieberegler für die Dynos nach unten (eine Verringerung der Dynos befindet sich links) auf die Anzahl der Dynos, die Sie ausführen möchten. Der Schieberegler geht auf 0. Speichern Sie dann Ihre Änderungen. Boom.

Laut Kommentar unten: Es gibt ein Stiftsymbol, auf das geklickt werden muss, um dies zu erreichen. Ich habe nicht überprüft - aber ich setze es hier, falls es hilft.

zero_cool
quelle
5
Ah, Danke. Im neueren Dashboard müssen Sie zuerst auf das kleine Stiftsymbol klicken, um die App in den Bearbeitungsmodus zu versetzen. Dann können Sie den Schieberegler bedienen.
MWP
30

Möglicherweise müssen Sie spezifischer sein und auch den App-Namen angeben (dies ist der Name der App, wie Sie ihn in Heroku haben). Beispielsweise:

heroku ps:scale web=0 --app myAppName 

Andernfalls wird möglicherweise die folgende Meldung angezeigt:

 % 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
quelle
15

Aus dem Heroku Web

Dashboard => Your App Name => Resources => Pencil icon=> Flip the switch => Confirm
Juanma Menendez
quelle
Einfache Lösung. Funktioniert gut. :)
Naveen Kumar V
6

Sie können die App deaktivieren, indem Sie den Wartungsmodus im Admin-Bereich aktivieren.

  • Gehen Sie zu den Einstellungsregistern.
  • Unten kurz vor dem Löschen der App. Wartungsmodus aktivieren. siehe im Screenshot unten.

Geben Sie hier die Bildbeschreibung ein

Imran Khan
quelle
Einfach zu bedienen und elegant.
Tomer
1
Der Wartungsmodus stoppt den Prüfstand nicht, sondern blockiert lediglich alle eingehenden HTTP-Anforderungen. Wenn ein Hintergrundprozess ausgeführt wird, wird dieser weiter ausgeführt. Siehe Heroku doc: devcenter.heroku.com/articles/maintenance-mode
Antoine Beloeuvre
3

Wenn Sie das Eclipse-Plugin verwenden, doppelklicken Sie in My Heroku Applications auf den App-Namen. Drücken Sie auf der Registerkarte Prozesse die Schaltfläche Skalieren. Ein kleines Fenster wird geöffnet. Erhöhen / verringern Sie die Anzahl und sagen Sie einfach OK.

ats
quelle
2

So löschen Sie Ihre Heroku-App

Dies ist für diejenigen, die eine App auf ihrem Heroku-Konto löschen möchten. Manchmal landen Sie hier, wenn Sie herausfinden möchten, wie Sie eine App entfernen / löschen können.

WARNUNG: Dies ist irreversibel!

  • Gehen Sie hier zu Ihrem Heroku-Dashboard
  • Wählen Sie die App aus, die Sie löschen möchten.
  • Scrollen Sie zum Ende der Einstellungsseite für diese App.
  • Drücken Sie die rote Schaltfläche App löschen ...
CodeValve
quelle
OP erklärte ausdrücklich, dass sie "die App auf Heroku stoppen wollen, anstatt sie zu zerstören". Ich weise nur darauf hin, weil Bing aus irgendeinem Grund diese Antwort als Antwort zeigt.
Yoshi Askharoun
2

So ergänzen Sie die obigen Antworten: Wenn Sie Dyno über das Admin-Panel stoppen möchten, ist die aktuelle Lösung auf der kostenlosen Ebene:

  1. Öffne App
  2. Klicken Sie auf der Registerkarte "Übersicht" im Abschnitt "Dyno-Formation" auf "Dynos konfigurieren".
  3. Klicken Sie in der gewünschten Zeile des Abschnitts "Free Dynos" auf das Stiftsymbol rechts
  4. Klicken Sie auf das blaue Ein / Aus-Steuerelement und dann auf "Bestätigen".

Hoffe das hilft.

Adlerer
quelle