W darmowych aplikacjach Heroku wydaje się, że dynos nadal pracuje na biegu jałowym - moja aplikacja ma bardzo mały ruch, ale w moim przypadku nie jest również do przyjęcia, że moi użytkownicy muszą czekać ponad 20 sekund na uruchomienie nowej hamowni.
Szczerze mówiąc, przy takim czekaniu wielu odejdzie, zanim pierwsza strona się wyświetli.
Mam więc problem: czy powinienem płacić 36 USD miesięcznie, aby zaoszczędzić każdemu użytkownikowi żenująco długich 20 sekund, gdy mój ruch jest jednocyfrowy dziennie.
Czy jest na to jakiś sposób?
Odpowiedzi:
Możesz zainstalować bezpłatny dodatek New Relic . Posiada funkcję monitorowania dostępności, która wysyła polecenie ping do Twojej witryny dwa razy na minutę, zapobiegając w ten sposób hamowaniu dynamiki.
Mniej więcej takie samo rozwiązanie jak Jesse, ale może bardziej zintegrowane z Heroku ... I z kilkoma dodatkami (monitorowanie wydajności jest po prostu świetne).
źródło
Jako alternatywę dla Pingdom sugeruję wypróbowanie Uptimerobot . Jest bezpłatny i oferuje 5-minutowy interwał sprawdzania witryny. Działa dla mnie bardzo dobrze.
AKTUALIZACJA 7 maja 2015: Nie będzie to już możliwe, ponieważ Heroku zmieni swoje bezpłatne hamowanie, aby zapobiec utrzymywaniu go przez pełne 24 godziny:
Kiedy to będzie na żywo? Zgodnie z ich postem na blogu:
źródło
http://
i dostaję błąd.Moim zdaniem korzystanie z „bezpłatnej” warstwy usługi nie powinno zasilać aplikacji produkcyjnej ani aplikacji skierowanej do klienta. Podczas gdy powyższe rozwiązania działają na biegu jałowym Dyno, zastanów się dokładnie nad tym, co robisz.
Jeśli nic więcej, użyj polecenia cron do pingowania witryny i wyłącz sprawdzanie znanych okresów niskiego zużycia (tj. Z dnia na dzień), aby upewnić się, że Heroku nie rezygnuje z bezpłatnej warstwy dla wszystkich innych.
źródło
Możesz także wypróbować http://kaffeine.herokuapp.com (stworzone przeze mnie), służy ono do zapobiegania zasypianiu aplikacji Heroku. Pinguje twoją aplikację co 10 minut, więc nie będzie spać. Jest całkowicie darmowy.
źródło
Możesz użyć http://pingdom.com/, aby sprawdzić swoją aplikację; jeśli będzie to wykonywane co minutę, Heroku nie będzie bezczynnie Twojej aplikacji i nie będzie potrzeby jej uruchamiania.
źródło
Łatwa odpowiedź - jeśli cenisz usługę, zapłać za nią.
Wszystkie te „sztuczki”, aby uzyskać korzyści z płatnej usługi ... to w zasadzie kradzież kabla. Wątpliwe, aby wymienić je tutaj. Co dalej, triki na temat piractwa gier?
Podobnie jak inny plakat tutaj, cenię bezpłatną usługę opracowywania i testowania i będę bardzo zirytowany wszystkimi typami osób z upośledzeniem etycznym, jeśli Heroku zniesie to, ponieważ jest zbyt wielu freeloaderów. Po prostu nie sądzę, żeby był wystarczająco bezpośredni w swojej krytyce.
źródło
Przetestowano i pracuję nad własną aplikacją Heroku za pomocą Node.js 0.10.x 28.06.2013
źródło
Korzystam z dodatku Heroku Scheduler dostarczonego przez Heroku za darmo. Po dodaniu jest to proste, jak utworzenie pracy z „curl http://yourapp.herokuapp.com ” i 10-minutową przerwą.
źródło
W dokumentacji Heroku napisano, że posiadanie więcej niż 1 sieciowej dynamiki nigdy się nie wyłączy. Prawdopodobnie tańsze rozwiązanie niż 0,09 USD za godzinę, jak sugeruje Pierre.
Dokumentacja
źródło
Zapisałem kroki:
➜ Dodaj klejnot „newrelic_rpm” do Gemfile podczas inscenizacji i produkcji
➜ Zainstaluj pakiet
➜ Zaloguj się do panelu sterowania heroku i dodaj nowy dodatek
➜ Po dodaniu skonfiguruj automatyczne pingowanie do swojej witryny, aby nie pozostawało bezczynne
➜ Przejdź do Menu> Monitorowanie dostępności ( w Ustawieniach) → Kliknij „Włącz monitorowanie dostępności”
➜ Wprowadź adres URL do pingowania (np .: http://spokenvote.org )
➜ Wybierz 1 minutę interwału
źródło
Znalazłem inną darmową witrynę, która będzie stale pingować Twoją witrynę o nazwie Unidler
http://unidler.herokuapp.com/
To samo co pingdom, ale nie trzeba się logować.
źródło
Pamiętaj, że nowe typy dynów ( obecnie w fazie beta , dostępne w czerwcu 2015 r.) Zabraniają utrzymywania bezpłatnej dyniny przez 24 godziny na dobę, ponieważ musiałaby spać co najmniej 6 godzin dziennie.
Dlatego spróbuj usunąć wszelkie rozwiązania znalezione w tym wątku, zanim to wyjdzie (lub zapłać za faktycznie używaną usługę).
źródło
Jeśli masz dostęp do zawsze działającego serwera unix, możesz ustawić zadanie cron dla
GET
swojej witryny. Zgodnie z nowymi warunkami bezpłatnego abonamentu prawdopodobnie zechcesz wyłączyćGET
s w nocy, używając linii w swoim crontabie w następujący sposób:To polecenie
curl
doGET
domain.com co 20 minut pomiędzy godziną 8 a 22.Miej świadomość, że
Upewnij się również, że czas systemowy jest odpowiednio skonfigurowany, aby okno przestoju miało miejsce wtedy, gdy tego oczekujesz.
źródło
Większość odpowiedzi tutaj jest nieaktualna lub obecnie nie działa. Obecny bezpłatny poziom dla kont osobistych daje podstawę 550 bezpłatnych godzin dyno każdego miesiąca.
A zweryfikowane darmowe konto daje 1000 godzin darmowej hamowni. Napisałem artykuł o tym, jak sprawiłem, że moja darmowa aplikacja nie zasypiała.
https://link.medium.com/uDHrk5HAD0
Mam nadzieję, że pomoże każdemu, kto potrzebuje rozwiązania w 2019 r
źródło
działa to dla mnie w aplikacji wiosennej wysyłającej jedno żądanie http co 2 minuty do ścieżki głównego adresu URL `
Pamiętaj, aby skonfigurować kontekst, aby włączyć program planujący i utworzyć komponent bean dla programu planującego
źródło
Guy, oto aplikacja heroku, którą możesz uruchomić, aby utrzymać wiele aplikacji heroku przy życiu. Po prostu dodaj adresy URL, które chcesz pingować w pliku config.json.
https://github.com/jcarras/rise-and-shine
źródło
Mam aplikację, która musi działać tylko od poniedziałku do piątku w porze lunchu. Właśnie dodałem następujący skrypt do crontab w pracy:
Tak więc dla każdej aplikacji po prostu upuść inną linię na swoim crontabie, taką jak:
źródło
Myślę, że najłatwiejszym rozwiązaniem jest samodzielne pingowanie własnego serwera co 30 minut. Oto kod, którego używam w moim projekcie node.js, aby zapobiec zasypianiu.
źródło
Jeszcze jedno działające rozwiązanie: wokeDyno Oto post na blogu, jak to działa: Jest bardzo łatwy w aplikacji:
źródło
Wykona się zadanie crona. Zobacz https://cron-job.org . Jest darmowy i niezawodny.
źródło