我正在制作垃圾邮件计数器(在Firebase上)。我所做的是在firebase云函数上使用数据库触发器来增加路径(/ counter / $ {uid})。此路径将为每个用户保留一个整数,其他路径将具有引用它的安全规则并检查它是否超出限制。但是,我想每天清理一次柜台。
当我在google上搜索时,我发现使用其他Google云端服务来部署cron作业时,官方的firebase方式就可以了。但是,我想知道我是否在云函数上使用setInterval而不会工作。这个任务只是一行执行(admin.database()。ref('/ counter')。set({})。并且它不是那么严重,如果它要跳过一次或两次执行由于一些问题,应该没问题。
由于
答案 0 :(得分:3)
setInterval
的使用不起作用,并且实际上并不建议这样做。您可以使用setInterval
使某个函数保持活动一段时间,但即使该函数只是在等待,您也将为该时间付费。此外,您仍然需要遵循云功能超时功能的方式(默认60秒,特殊配置最多9分钟)。
答案 1 :(得分:1)
请勿使用setInterval
,因为您需要支付未使用的计算时间。
请在YouTube上观看此视频; https://www.youtube.com/watch?v=CbE2PzvAMxA
他们详细介绍了如何设置免费计划服务并设置HTTP触发器,以实现您之后的结果。