Mam aplikację RoR działającą na moim komputerze lokalnym, ale kiedy wysyłam ją do heroku, ulega awarii. Dziennik błędów podaje błąd H10 i mówi:
2012-11-21T15:26:47+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/newrelic_rpm-3.4.2/lib/new_relic/control/instance_methods.rb:95:in `start_agent'
2012-11-21T15:26:48+00:00 heroku[web.1]: State changed from starting to crashed
2012-11-21T15:26:48+00:00 heroku[web.1]: Process exited with status 1
2012-11-21T15:26:59+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
2012-11-21T15:27:00+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
2012-11-21T15:30:08+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
2012-11-21T15:30:08+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
2012-11-21T15:30:59+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
2012-11-21T15:31:19+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
2012-11-21T15:31:19+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
2012-11-21T15:32:08+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
2012-11-21T15:32:08+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
Edytować:
2012-11-22T10:00:58+00:00 app[web.1]:
2012-11-22T10:00:59+00:00 heroku[router]: at=info method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno=web.1 queue=0 wait=0ms connect=1ms service=26ms status=200 bytes=0
Czy ktoś miał to wcześniej i wie, co może być przyczyną problemu? Nie mogę znaleźć rozwiązania.
Dzięki.
ruby-on-rails
deployment
heroku
bskool
źródło
źródło
Odpowiedzi:
Napotkałem ten sam błąd powyżej, aplikacja zawieszała się na heroku (działała dobrze w programowaniu), ale dzienniki błędów na heroku nie ujawniały żadnych wskazówek. Przeczytałem inne odpowiedzi na tej stronie i spociłem się po obejrzeniu „przebudowy aplikacji”. Pomyślałem, że może mógłbym wejść do konsoli heroku i się rozejrzeć. Zrobiłem to i nawet konsola się zawiesiła, ale tym razem powiedziała mi, dlaczego. To była jakaś niejasna zmienna, której zapomniałem usunąć podczas sesji rozwiązywania problemów kilka godzin wcześniej. Nie mówię, że napotkasz ten sam problem, ale znalazłem więcej informacji, gdy próbowałem przejść przez konsolę. Mam nadzieję że to pomoże.
źródło
heroku restart
pomogło mi zidentyfikować mój problem.bin
Brakowało mojego folderu.Miałem ten sam problem. Dzienniki też nie dawały mi żadnych wskazówek. Więc zmniejszyłem i przeskalowałem hamownie. To rozwiązało problem dla mnie:
Czekałem kilka sekund ...
źródło
heroku restart
było rozwiązaniem, które zadziałało dla mnie i myślę, że (za kulisami) jest to podobna sztuczka. Ponowne uruchomienie nastąpi poprzez zatrzymanie wszystkich hamowni i uruchomienie ich od nowa.Jest to najlepsza opcja, ponieważ spowoduje wyświetlenie błędu w terminalu, który będzie znacznie bardziej szczegółowy niż błąd „awaria aplikacji” w dziennikach Heroku.
źródło
pomogło mi ponownie uruchomić moją hamownię. Jestem nowy w Heroku, ale cieszę się, że teraz wiem.
źródło
zdarzyło mi się to, gdy nasłuchiwałem na złym porcie
Zmieniłem słuchanie () na „process.env.PORT”, więc:
zamiast
źródło
Tego wieczoru miałem ten sam problem. Niezbyt pomocny błąd, więc spróbowałem uruchomić w konsoli
nie udało się i dał mi dużo bardziej pomocny błąd. Zaniedbałem usunięcie wywołania metody w środowisku produkcyjnym. Gdy to naprawiłem, aplikacja działała dobrze.
źródło
SyntaxError
. Dzienniki nie podały wielu informacji, alerails c
tak.Rozwiązałem ten problem, wciskając do Gita:
następnie naciśnij do Heroku:
następnie rake db: migrate on Heroku:
źródło
Udało mi się nie dołączyć mojego pliku .gitignore -> to psuje heroku. #doh
Oto działający plik .gitignore
Aby utworzyć plik .gitignore, w terminalu przejdź do katalogu aplikacji i użyj następującego polecenia
Następnie możesz otworzyć go w swoim edytorze tekstu i umieścić w nim powyższy kod.
źródło
W moim przypadku używałem zmiennych ENV w mojej aplikacji, ale nie zostały one ustawione w konfiguracji heroku.
Konsola heroku podała poprawny błąd:
Następnie ustaw konfigurację ENV
Uruchom ponownie Heroku
to działa!!
źródło
Otrzymałem ten sam błąd powodujący awarię aplikacji H10 w Heroku. Kliknąłem „zrestartuj wszystkie hamownie” w interfejsie heroku i problem został rozwiązany.
źródło
Miałem
H10
z Heroku i Node z powodu złej nazwy głównego pliku kodu. Edycjapackage.json
:Lub zmień nazwę pliku.
źródło
Zobacz, czy dostaniesz
w logach podczas wykonywania polecenia (heroku logs -t), jeśli tak, to uruchom
Nie nadpisuj swoich plików, w końcu to polecenie utworzy
prześlij te pliki do heroku i gotowe.
źródło
Problem, z którym się zmagałem, wynikał z braku bazy danych. Aby rozwiązać problem, najpierw wyeksportowałem lokalną bazę danych:
Następnie zaimportowałem go do Heroku:
Zmienne do zastąpienia w tych przykładach są:
mypassword
,myuser
,mydb
ihttp://site.tld/mydb.dump
. Zauważ, że musiałem przesłać zrzut na tymczasowy serwer.Rozwiązując wszystkie moje problemy, napisałem krótki przewodnik jak wdrożyć Enki w Heroku, który można znaleźć tutaj .
źródło
Otrzymałem ten sam błąd, co „awaria aplikacji”, a dzienniki aplikacji heroku nie pokazują wielu informacji związanych z przyczynami komunikatu o błędzie. Następnie ponownie uruchomiłem hamownie w heroku, a następnie pokazał błąd z informacją o dodatkowym nawiasie klamrowym w jednym z plików index.js w mojej konfiguracji. Problem został rozwiązany po usunięciu i ponownym wdrożeniu aplikacji na heroku.
Mam nadzieję, że będzie to pomocne dla kogoś, kto ma ten sam problem.
źródło
Po przejrzeniu całej listy odpowiedzi natknąłem się na tę stronę: https://status.heroku.com/, która szczegółowo opisuje aktualny status / incydenty z Heroku. Zawsze bezpiecznie jest sprawdzić incydenty przed uderzeniem głową w ścianę. Dla mnie to załączony raport z incydentu opublikowany pod wyżej wymienionym linkiem był przyczyną błędu.
źródło
W moim przypadku ten,
Procfile
którego użyłem, niszczył wszystko. Heroku wyszukujeProcfile
i stosuje swoje ustawienia podczas uruchamiania aplikacji - najwyraźniej ustawienia deweloperskie, których użyłem, nie miały żadnego sensu dla serwera produkcyjnego. Musiałem zmienić jego nazwę naProcfile.dev
i wszystko zaczęło działać normalnie.źródło
Miałem ten sam problem, zrobiłem co następuje
Zidentyfikowano błąd składni i brak przecinka w dopuszczalnych parametrach kontrolera. Jak wspomniano powyżej, dzienniki Heroku nie zawierały wystarczających informacji, aby rozwiązać problem.
Nie widziałem wcześniej komunikatu o awarii aplikacji na Heroku.
źródło
uninitialized constant
w Heroku wystąpił błąd, którego nie było lokalnie. Chociaż nadal muszę to rozwiązać, udało mi się odzyskać działające wdrożenie.Jeśli używasz Node, możesz spróbować uruchomić polecenie serv bezpośrednio w konsoli. W moim przypadku uruchamiam aplikację kątową, więc próbowałem z:
To pokazało mi dokładny błąd podczas uruchamiania aplikacji.
źródło
Prześledziłem swój problem z powrotem na serwerze Puma, podobnie jak @Ahmed Elkoussy, ale rozwiązałem go, komentując następujący wiersz w pliku puma.rb:
# pidfile ENV.fetch("PIDFILE") { "tmp/pids/server.pid" }
źródło
Dziś napotkałem ten sam problem. Zrobiłem,
heroku run rake db:migrate
chociaż wcześniej migrowałem model i aplikacja nie ulega awarii.źródło
Zachowaj ostrożność podczas kopiowania i wklejania kodu. Czasami po dodaniu bloku do pliku jest on nieprawidłowo sformatowany i spowoduje błąd.
Miałem ten problem już wcześniej i otrzymałem ten błąd: nieoczekiwany tIDENTIFIER, oczekiwanie keyword_end
źródło
Miałem ten sam problem. dla mnie był to błąd w filtrach przed zachowaniem się (ponieważ pusty DB) Sprawdź swoje filtry przed zachowaniem, może rzucają niezrozumiałe wyjątki.
źródło
Miałem ten problem, gdy próbowałem uruchomić Railsy w podkatalogu, a nie w
/
. Na przykład miałem uruchomioną aplikację Angular / Node / Gulp/client
i aplikację Rails/server
, ale obie były w tym samym repozytorium git, więc mogłem śledzić zmiany w interfejsie użytkownika i zapleczu. Otrzymałem ten błąd podczas próby wdrożenia ich w Heroku. Dla każdego, kto ma ten problem, oto niestandardowy pakiet kompilacji, który pozwoli na uruchamianie Railsów w podkatalogu.https://github.com/aarongray/heroku-buildpack-ruby
źródło
Miałem ten sam problem (ten sam błąd w heroku, praca na komputerze lokalnym) i wypróbowałem wszystkie wymienione tutaj rozwiązania, w tym te,
heroku run rails console
które działały bez komunikatów o błędach. Próbowałemheroku run rake db:migrate
iheroku run rake db:migrate:reset
kilka razy. Nic z tego nie rozwiązało problemu. Przeglądając niektóre pliki, które są używane w środowisku produkcyjnym, ale nie w środowisku deweloperskim, zauważyłem, że przyczyną jest spacja w pliku puma.rb. Mam nadzieję, że pomoże to komuś, kto ma ten sam problem. Zmiana tego sprawiła, że to zadziałałodo
źródło
Napotkałem ten sam problem podczas wdrażania do Heroku (awaria aplikacji). Dzienniki nie wskazywały, jaki może być problem. Konsola Heroku wyświetliła błąd składni w kodzie dodatkowego nawiasu. O dziwo, nie miałem problemu z lokalnymi szynami podczas uruchamiania aplikacji i dlatego go przegapiłem. Po korekcie i git push do Heroku, aplikacja zaczęła działać na Heroku!
źródło
Zaktualizowałem moje ustawienia z app.set ('ip_address', process.env.IP || '127.0.0.1' );
do
app.set ('ip_address', process.env.IP || '0.0.0.0' );
które zmieniłem na hosting Openshift
źródło
Miałem ten sam problem, kiedy zacząłem używać Pumy w heroku, zgodnie z ich stroną przewodnika , ten problem został rozwiązany, gdy skomentowałem linię portu pokazaną poniżej
Tak więc wyłączenie powyższej linii w puma.rb w katalogu konfiguracyjnym rozwiązało problem
źródło
W moim przypadku grałem,
git push heroku master
gdy nie jestem na gałęzi master. Musiałem najpierw przejść do gałęzi głównej, scalić kod z inną gałęzią, a następnie wcisnąć git.źródło
Napotkałem również ten sam błąd. Dodawanie
.gitignore
pliku do mojego projektu rozwiązało mój problem.Mój
.gitignore
plik jest tutaj:I zmieniłem
listen()
funkcję;Zmieniłem to na;
źródło
Rozwiązanie, które opublikowałem na Dev i pracowałem dla większości osób korzystających z React:
https://medium.com/@uros.randelovic/causes-of-heroku-h10-app-crashed-error-and-how-to-solve-them-70495914d2a3?sk=1c51cf95e904f754a43a4b63a06b5503
źródło