我在我的React App中使用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数据库中,该条目如下所示:
现在,无论用户是否访问我的应用程序,我都希望每月输入每一天的数据,那么我该怎么做呢?因此,从5日至9日您可以看到,当用户尚未访问该应用程序时,不会创建该条目,那么如何使我的React应用程序自动在数据库中创建一个条目?
例如,今天理想的情况是9th
及其周围的7:37 PM
,因此,当时钟到达00:00及其10时,我希望我的应用程序自动将其输入数据库, 我该怎么做呢 ?
答案 0 :(得分:2)
在服务器上
如果您希望在用户不使用应用程序时更新数据库,则必须在服务器上运行某些内容以进行更新。
您可以使用Cloud Function来更新数据库,以响应每小时的Cloud Pub / Sub触发器。
仅当每小时作业在用户所在的时区中最接近午夜运行时,您才能存储用户的时区并通过该功能执行数据库更新。
可以使用functions-cron
软件包来设置cron作业。自述文件包含有关设置每小时工作的说明。
https://github.com/FirebaseExtended/functions-cron
在应用中
每天午夜更新数据库对您的应用真的很重要吗?也许您的应用可以在打开数据库时查询数据库,并检查错过了哪些更新,然后将它们全部发送到数据库。