Hosting dla Node.js nadal nie jest zbyt rozpowszechniony, zwłaszcza w krajach niemieckojęzycznych. Amerykańska firma chmurowa Heroku oferuje tutaj rozwiązanie - a nawet bezpłatne . Zawsze zauważasz paradygmat „Twórz aplikacje ... nie infrastrukturę” i nadal nie masz prawie żadnych ograniczeń. Jako przykład, wdrażamy małe zadanie cron oparte na PhantomJS , które codziennie przetwarza witrynę i wysyła tytuł strony e-mailem.
Aby to zrobić, najpierw rejestrujemy się bezpłatnie pod adresem https://signup.heroku.com/:
Po obowiązkowym potwierdzeniu e-mailem wydamy bezpieczne hasło:
Aby później móc korzystać z bezpłatnych dodatków z Marketplace, musimy najpierw zweryfikować nasze konto pod https://heroku.com/verify , wprowadzając dane karty kredytowej (nie martw się, wszystko pozostaje bezpłatne):
Reszta odbywa się teraz wyłącznie w linii poleceń. Do tego potrzebujemy lokalnie Node.js / npm , Git i Heroku CLI .
W końcu logujemy się do Heroku lokalnie (raz) z linii poleceń:
Najpierw tworzymy nową aplikację w oparciu o odpowiedni buildpack . W naszym przykładzie używamy oficjalnego pakietu kompilacji Node.js heroku-buildpack-nodejs.git:
1a01abaf4b9308c5714622396ccc4708
Teraz tworzymy plik package.json, aby zainstalować pakiety PhantomJS , CasperJS , SpookyJS i Nodemailer wymagane dla naszego projektu:
1a01abaf4b9308c5714622396ccc4708
Rzeczywistą logikę można znaleźć w pliku script.js:
1a01abaf4b9308c5714622396ccc4708
Najpierw wszystko testujemy lokalnie:
1a01abaf4b9308c5714622396ccc4708
Skrypt wyodrębnia tytuł ze strony internetowej i wysyła e-mail:
Teraz przesuwamy wszystko na Heroku, co również uruchamia proces budowania:
1a01abaf4b9308c5714622396ccc4708
Jeśli chcesz później przesłać zmiany w kodzie do Heroku, po prostu naciśnij ponownie. Z jednej strony możemy teraz użyć SSH, aby sprawdzić, czy wszystko działa na serwerze:
1a01abaf4b9308c5714622396ccc4708
Tutaj również wiadomość e-mail jest wysyłana poprawnie. Teraz musimy tylko zautomatyzować ten proces:
1a01abaf4b9308c5714622396ccc4708
Dodajemy nowe wywołanie skryptu z „Dodaj nowe zadanie”:
W ramach testu wybieramy co 10 minut jako częstotliwość i zapisujemy:
Cronjob będzie teraz wykonywał swoją pracę automatycznie w przyszłości.