Wie behebt man „Fehler R10 (Boot-Timeout)“ auf Heroku?
Heroku ist ein Cloud-Plattform-basierter Dienst, der Benutzern eine Plattform zum Verwalten und Entwickeln von Anwendungen bietet, ohne eine Infrastruktur aufbauen und warten zu müssen. Es befindet sich seit 2007 in der Entwicklung und unterstützt jetzt eine Vielzahl von Sprachen. In letzter Zeit kommen viele Berichte über eine „Fehler R10 (Boot-Timeout) -> Webprozess konnte nicht innerhalb von 60 Sekunden nach dem Start an $PORT gebunden werden" Error.
In diesem Artikel besprechen wir einige der Gründe, aus denen dieser Fehler ausgelöst wird, und bieten Ihnen auch praktikable Lösungen, um ihn vollständig zu beheben. Denken Sie daran, die Anweisungen sorgfältig und genau zu befolgen, um Konflikte zu vermeiden.
Was verursacht den „Fehler R10 (Boot-Timeout)“ bei Heroku?
Nachdem wir zahlreiche Berichte von mehreren Benutzern erhalten hatten, entschieden wir uns, das Problem zu untersuchen und eine Reihe von Lösungen zu entwickeln, um sie vollständig zu beheben. Außerdem haben wir uns die Gründe angesehen, aus denen es ausgelöst wird, und sie wie folgt aufgelistet.
Nachdem Sie nun ein grundlegendes Verständnis der Art des Problems haben, werden wir uns den Lösungen zuwenden. Stellen Sie sicher, dass Sie diese in der angegebenen Reihenfolge implementieren, um Konflikte zu vermeiden.
Lösung 1: Erhöhen des Zeitlimits
Das Zeitlimit für das Booten der Anwendung kann verlängert werden. Wir werden es mit einem „Heroku Nach vorne”-Datei, die auch die Anweisungen zum Erreichen dieser höheren Frist enthält. Laden Sie diese Datei herunter, die alle wichtigen Dateien enthält, die Sie benötigen, um das Zeitlimit zu verlängern. Es enthält auch eine Readme-Datei, die die Anweisungen zur Implementierung enthält.
Lösung 2: Ändern der Profileinstellungen
In einigen Fällen kann das Problem durch eine ungültige Konfiguration mit dem „Procfile“ ausgelöst werden. Daher werden wir in diesem Schritt eine Zeile im Profil ändern. Dafür:
- Öffne das Profil.
- Es sollte eine Zeile im Profil ähnlich der folgenden sein.
web: Bundle Exec Thin Start
- Ändern Sie diese Zeile in die folgende.
web: Bundle Exec Thin Start -p $PORT
- Speichern Sie Ihre Änderungen und prüfen um zu sehen, ob das Problem weiterhin besteht.
Lösung 3: Trimmen von Edelsteinen beim Start
Es ist möglich, dass beim Start der Anwendung zusätzliche Gems geladen werden. Daher werden wir in diesem Schritt die zusätzlichen Edelsteine beim Start identifizieren und trimmen. Dafür:
- Herunterladen diese Datei und lesen Sie die Anweisungen, um zusätzliche Edelsteine zu identifizieren, die beim Start geladen werden.
- Hinzufügen die folgende Zeile zum Edelsteine das sind extra und müssen nicht beim Start geladen werden.
erfordern => falsch
- Dies wird verhindern, dass Gem geladen am Anfang.
- Prüfen um zu sehen, ob das Problem weiterhin besteht.