In den kostenlosen Heroku-Apps scheinen die Dynos im Leerlauf zu bleiben - meine App hat sehr wenig Verkehr, aber es ist auch in meinem Fall nicht wirklich akzeptabel, dass meine Benutzer mehr als 20 Sekunden warten müssen, um einen neuen Dyno hochzufahren.
Ehrlich gesagt, mit dieser Art von Wartezeit werden viele gehen, bevor die erste Seite überhaupt angezeigt wird.
Ich habe also ein Problem: Sollte ich 36 US-Dollar pro Monat zahlen, um jedem Benutzer peinlich lange 20 Sekunden zu ersparen, wenn mein Datenverkehr im einstelligen Bereich pro Tag liegt?
Gibt es einen Weg, um das zu umgehen?
Antworten:
Sie können das kostenlose New Relic-Add-On installieren . Es verfügt über eine Verfügbarkeitsüberwachungsfunktion, die Ihre Site zweimal pro Minute anpingt und so verhindert, dass der Prüfstand im Leerlauf läuft.
Mehr oder weniger die gleiche Lösung wie Jesse, aber vielleicht stärker in Heroku integriert ... Und mit ein paar Vorteilen (Leistungsüberwachung ist einfach großartig).
quelle
Als Alternative zu Pingdom empfehle ich Uptimerobot . Es ist kostenlos und bietet 5 Minuten Intervall Site Checking. Es funktioniert sehr gut für mich.
UPDATE 7. Mai 2015: Dies wird nicht mehr möglich sein, da Heroku seinen kostenlosen Prüfstand ändert , um zu verhindern, dass er 24 Stunden lang am Leben bleibt :
Wann wird das live sein? Laut ihrem Blog-Beitrag:
quelle
http://
und einen Fehler bekommen.Meiner Meinung nach sollte die Verwendung der "kostenlosen" Stufe des Dienstes keine Produktions- oder Kundenanwendung mit Strom versorgen. Während die oben genannten Lösungen gegen den Dyno-Leerlauf wirken, sollten Sie genau überlegen, was Sie tun.
Wenn nichts anderes, verwenden Sie einen Cron-Job, um Ihre Website zu pingen, und deaktivieren Sie die Überprüfung für bekannte Zeiträume mit geringer Nutzung (dh über Nacht), um sicherzustellen, dass Heroku die kostenlose Stufe nicht für alle anderen abschafft.
quelle
Sie können auch http://kaffeine.herokuapp.com (von mir erstellt) ausprobieren , um zu verhindern, dass Heroku-Apps einschlafen. Ihre App wird alle 10 Minuten gepingt, damit Ihre App nicht in den Ruhezustand wechselt. Es ist völlig kostenlos.
quelle
Sie können http://pingdom.com/ verwenden , um Ihre App zu überprüfen. Wenn dies jede Minute oder so erledigt wird, wird Heroku Ihre App nicht inaktivieren und muss nicht hochgefahren werden.
quelle
Einfache Antwort - wenn Sie den Service schätzen, zahlen Sie dafür.
All diese "Tricks", um die Vorteile eines kostenpflichtigen Dienstes zu nutzen ... nun, es ist im Wesentlichen wie das Stehlen von Kabeln. Fraglich, sie hier überhaupt aufzulisten. Was kommt als nächstes, Tricks, wie man Spiele raubkopiert?
Wie ein anderes Poster hier schätze ich den kostenlosen Service für Entwicklung und Test und ich werde mich sehr über alle ethisch beeinträchtigten Typen ärgern, wenn Heroku ihn abschafft, weil es zu viele Freeloader gibt. Ich glaube einfach nicht, dass er in seiner Kritik direkt genug war.
quelle
Getestet und an meiner eigenen Heroku-App mit Node.js 0.10.x am 28.06.2013 gearbeitet
quelle
Ich benutze das von Heroku bereitgestellte Heroku Scheduler Addon kostenlos. Nach dem Hinzufügen ist es einfach, einen Job mit 'curl http://yourapp.herokuapp.com ' und einem Intervall von 10 Minuten zu erstellen .
quelle
In der Heroku-Dokumentation heißt es, dass mehr als ein Web-Dyno niemals im Leerlauf sein wird. Möglicherweise eine billigere Lösung als 0,09 USD / Stunde, wie Pierre vorschlägt.
Dokumentation
quelle
Ich habe die Schritte aufgeschrieben:
➜ gem ‚newrelic_rpm‘ auf Ihrem Gemfile unter Staging & Produktion hinzufügen
➜ Bundle installieren
➜ Login Heroku Bedienfeld und fügen newrelic Addon
➜ Nach dem Hinzufügen Setup automatische Pingen auf Ihre Website , so dass es nicht untätig tut
➜ Wechseln Sie zu Menü> Verfügbarkeitsüberwachung ( unter Einstellungen) → Klicken Sie auf „Verfügbarkeitsüberwachung
aktivieren “. ➜ Geben Sie die zu pingende URL ein (z. B. http://spokenvote.org ).
➜ Wählen Sie 1 Minute für das Intervall
quelle
Ich habe eine andere kostenlose Site namens Unidler gefunden, die Ihre Website ständig anpingt
http://unidler.herokuapp.com/
Wie Pingdom, muss sich jedoch nicht anmelden.
quelle
Beachten Sie, dass die neuen Dyno-Typen ( derzeit in der Beta- Version, im Juni 2015 verfügbar) es verbieten, einen kostenlosen Dyno rund um die Uhr wach zu halten, da er mindestens 6 Stunden pro Tag schlafen müsste.
Versuchen Sie also, alle in diesem Thread gefundenen Lösungen zu entfernen, bevor diese veröffentlicht werden (oder zahlen Sie für den Dienst, den Sie tatsächlich nutzen).
quelle
Wenn Sie Zugriff auf einen Unix-Server haben, der immer aktiv ist, können Sie einen Cron-Job für
GET
Ihre Website festlegen . Unter den neuen Bedingungen des kostenlosen Plans möchten Sie dasGET
s wahrscheinlich in den Nachtstunden deaktivieren , indem Sie eine Zeile in Ihrer Crontab wie folgt verwenden:Dies weist alle 20 Minuten zwischen 8 und 22 Uhr
curl
anGET
domain.com.Beachten Sie, dass
Stellen Sie außerdem sicher, dass Ihre Systemzeit ordnungsgemäß eingerichtet ist, damit das Ausfallzeitfenster angezeigt wird, wenn Sie dies erwarten.
quelle
Die meisten Antworten hier sind veraltet oder funktionieren derzeit nicht. Die derzeitige kostenlose Stufe für persönliche Konten bietet eine Basis von 550 kostenlosen Prüfstandsstunden pro Monat.
Mit einem verifizierten kostenlosen Konto erhalten Sie 1000 Stunden kostenlosen Prüfstand. Ich habe einen Artikel darüber geschrieben, wie ich meine kostenlose App wach gehalten habe.
https://link.medium.com/uDHrk5HAD0
Hoffe, es hilft jedem, der 2019 eine Lösung braucht
quelle
Diese Arbeit funktioniert für mich in einer Frühlingsanwendung, die alle 2 Minuten eine http-Anfrage an den Root-URL-Pfad sendet
Denken Sie daran, Ihren Kontext so zu konfigurieren, dass der Scheduler aktiviert und die Bean für Ihren Scheduler erstellt wird
quelle
Guy, hier ist eine Heroku-App, die Sie ausführen können, um mehrere Heroku-Apps am Leben zu erhalten. Fügen Sie einfach die URLs, die Sie pingen möchten, in die Datei config.json ein.
https://github.com/jcarras/rise-and-shine
quelle
Ich habe eine App, die nur von Montag bis Freitag gegen Mittag laufen muss. Ich habe gerade das folgende Skript zur Crontab bei der Arbeit hinzugefügt:
Fügen Sie für jede App einfach eine weitere Zeile in Ihre Crontab ein:
quelle
Ich denke, die einfachste Lösung besteht darin, alle 30 Minuten einen eigenen Ping an Ihren eigenen Server zu senden. Hier ist der Code, den ich in meinem node.js-Projekt verwende, um das Schlafen zu verhindern.
quelle
Eine weitere funktionierende Lösung: wokeDyno Hier ist ein Blog-Beitrag, wie es funktioniert: Es ist sehr einfach in die App integriert:
quelle
Ein Cron-Job reicht aus. Siehe https://cron-job.org . Es ist kostenlos und zuverlässig.
quelle