Облачная функция для пожарной базы, запускаемой слишком много раз - PullRequest
0 голосов
/ 31 января 2019

У нас есть приложение для Android, которое собирает местоположение пользователя каждые 30 секунд и записывает его в базу данных Firebase Realtime.Я хочу выполнить облачную функцию на firebase, если местоположение пользователя не изменилось в течение 15 минут.

Первоначальный подход: пусть приложение Android выполняет HTTP-вызов для вызова облачной функции каждые 15 минут.

Проблема с подходом: есть 1000 активных пользователей, и ожидается, что число таких пользователей возрастет до 10000. В результате такого подхода каждый день будет запускаться 960 000 (1000 пользователей * 4 запросов в час * 24 часов).

Цельместоположение заключается в том, что если оно не изменилось через 15 минут, облачная функция отправляет уведомление веб-клиенту.Мобильные телефоны работают с низким уровнем соединения и являются устройствами низкого уровня, поэтому мобильный телефон не может инициировать уведомление.

Цель состоит в том, чтобы свести к минимуму количество запускаемых облачных функций.

Какой может быть правильный подход, чтобы минимизировать количество вызовов функции облака?

1 Ответ

0 голосов
/ 31 января 2019

Решение, которое вы запрашиваете, зависит от контекста использования данных о местоположении.

  • Если это просто статистика, вы можете локально кэшировать данные о местоположении и время от времени отправлять их в облако.время.
  • Если данные о местоположении используются для предоставления услуги на основе, вам решать на основе реализованных алгоритмов.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...