Как заставить мое приложение React автоматически вносить запись в базу данных в 00:00 часов (т.е. когда наступает новый день)? - PullRequest
0 голосов
/ 09 сентября 2018

Я использую axios в своем приложении React, и у меня есть следующий код :: -

axios.put(`Dates/${ todaysDate.getFullYear() }/${ this.utilMonthInAlpha(todaysDate.getMonth()) }/${ ( todaysDate.getDate() > 9 ) ? todaysDate.getDate() : '0' + todaysDate.getDate() }/.json` , {
        goodHabits : userStoredHabits,
        totalScore : '0'
});

Приведенный выше код находится в моем componentDidMount ловушке жизненного цикла, поэтому каждый раз, когда пользователь загружает приложение, выполняется приведенный выше код, в моей базе данных Google Firebase запись выглядит следующим образом:

google firebase database

Теперь я хочу, чтобы данные вводились для каждого дня месяца, независимо от того, вошел ли пользователь в мое приложение или нет, так как мне поступить так? так что вы можете видеть с 5-го по 9-й, когда пользователь не получил доступ к приложению, запись не сделана, так как я могу сделать так, чтобы мое приложение React автоматически делало запись в базе данных?

В идеале, например, сегодня это 9th и около 7:37 PM, поэтому, как только часы пробьют 00:00 и 10-го числа, я бы хотел, чтобы мое приложение автоматически сделало запись в базу данных, как мне это сделать? сделай это ?

1 Ответ

0 голосов
/ 09 сентября 2018

На сервере

Если вы хотите, чтобы ваша база данных обновлялась, когда ваш пользователь не использует ваше приложение, вам нужно будет что-то запустить на сервере, чтобы обновить его.

Вы можете использовать облачную функцию, которая обновляет вашу базу данных в ответ на ежечасный триггер Cloud Pub / Sub.

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

Настройка заданий cron может быть выполнена с помощью пакета functions-cron. В файле readme содержатся инструкции по настройке почасовой работы.

https://github.com/FirebaseExtended/functions-cron

В приложении

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

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