如何使我的React应用程序在00:00时自动在数据库中输入(当天是新的一天)?

问题描述 投票:1回答:1

我在我的React应用程序中使用axios,我有以下代码: -

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个我希望我的应用程序自动进入数据库,我该怎么做?

reactjs firebase-realtime-database
1个回答
2
投票

在服务器上

如果您希望在用户未使用应用程序时更新数据库,则必须在服务器上运行某些内容以进行更新。

您可以使用Cloud Function来更新数据库以响应每小时的Cloud Pub / Sub触发器。

只有当每小时作业最接近用户时区的午夜时,才能存储用户的时区并从函数执行数据库更新。

可以使用functions-cron包来设置cron作业。自述文件包括有关设置每小时工作的说明。

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

在应用程序中

对于您的应用程序来说,数据库每天午夜更新是否真的重要?也许您的应用程序可以在打开数据库时查询数据库,并检查错过了哪些更新,然后将它们全部发送到数据库。

© www.soinside.com 2019 - 2024. All rights reserved.