CoderCastrov logo
CoderCastrov
JavaScript

Как получить комнату в Берлине, используя Firestore + Google Functions + Google Scheduler

Как получить комнату в Берлине, используя Firestore + Google Functions + Google Scheduler
просмотров
2 мин чтение
#JavaScript
Table Of Content

Первая часть этой серии постов была о создании инструмента парсинга на NodeJS, который позволял нам отправлять сообщение владельцу по шаблону.

Основная проблема, возникающая с таким подходом, заключается в том, чтобы иметь скрипт, работающий 24 часа в сутки. Возможностью является развертывание его на бесплатной виртуальной машине или использование выделенного Raspberry Pi, но оба варианта подразумевают мониторинг, настройку, развертывание и т. д.

В этом случае я использую альтернативу:

  • Firestore для хранения данных
  • Cloud Functions для скрипта
  • Cloud Scheduler для повторения

Целью является иметь также бесплатную альтернативу, поэтому я оставлю это простым.

Предварительные требования

Приступим

Создание и настройка проекта Firebase

  1. Дайте вашему проекту понятное название
  1. В этом случае Google Analytics необязателен
  1. После создания проекта пришло время создать базу данных для хранения данных. Мы будем использовать Firestore для этого.

  2. Перейдите в раздел "База данных"

  1. Начните в тестовом режиме, чтобы разрешить быструю запись
  1. Установите правильное местоположение. Для Wg-gesucht лучше всего разместить его в Европе:
  1. После создания базы данных Firestore пришло время создать коллекцию для хранения данных.

Клонирование и развертывание функции

Теперь нам нужно развернуть функции, чтобы начать парсинг и отправку сообщений владельцам. Функции находятся в этом репозитории. Чтобы развернуть их в проекте, вы можете:

git clone [https://github.com/juancruzmartino/wg-gesucht-scrapper-firebase](https://github.com/juancruzmartino/wg-gesucht-scrapper-firebase)

Измените FILTER_URL и credentials внутри index.js перед продолжением.

cd functionsnpm installcd ..firebase deploy —YOUR-PROJECT-ID

Настройка планировщика Google

  1. Настройте парсер:
  1. Замените URL, чтобы он соответствовал идентификатору вашего проекта.

  2. Сделайте то же самое для функции автоматического бронирования:

С этого момента скрипты должны выполняться каждые 5 минут, получая все новые комнаты, соответствующие вашему фильтру, и отправляя сообщение владельцу с использованием указанных шаблонов.

Вы можете изменить частоту выполнения или отключить функции по мере необходимости.