我正在尝试使用云任务每分钟执行一次云功能。只是想象一下,firestore 中有一个包含 200 万份文档的集合。所以我要每分钟阅读这个集合。
Document 1-->
PerformAt: 3rd of September 2021 at 09:00AM
Status: Scheduled
Document 2-->
PerformAt: 3rd of September 2021 at 01:00PM
Status: Scheduled
Document 3-->
PerformAt: 2nd of September 2021 at 03:00PM
Status: Done
云功能--->
const query = db.collection('tasks').where('PerformAt', '<=', now).where('Status', '==', 'scheduled');
在这种情况下,它将读取 200 万个状态已调度的文档。我的问题是,
如果我每分钟运行一次,它会影响我的应用程序的性能吗?
每个数据库只允许 100 万并发用户,因此该云功能将考虑为 200 万并发用户还是仅一个用户?
阅读大约 200 万份文件需要多少时间?
另外,我现在需要在 PerformAt <= 时将状态更改为完成。在这种情况下,Firebase 仅允许每个数据库写入 10,000 个。我能做些什么来克服这种情况?