Firebase函数在未来20秒内调用

Firebase函数在未来20秒内调用,firebase,google-cloud-functions,Firebase,Google Cloud Functions,所以,我正在使用Xamarin和Firebase制作多人手机游戏。在游戏中,我会让玩家决定做什么,并将他们的决定发送到服务器(通过将决策枚举放入特定于玩家的Firebase数据库节点)。决策有时间限制(时间短,不超过20秒) 我在Firebase函数中将监听器设置为该特定节点,以检查所有玩家的决定或玩家的决定是否在时间截止日期之后,但我需要处理以下情况:一些玩家及时发送他们的决定-sersnmart不会执行下一个动作,而某个玩家只是不会发送他的决定(eave游戏或其他)-服务器不会再次被戳来检查

所以,我正在使用Xamarin和Firebase制作多人手机游戏。在游戏中,我会让玩家决定做什么,并将他们的决定发送到服务器(通过将决策枚举放入特定于玩家的Firebase数据库节点)。决策有时间限制(时间短,不超过20秒)

我在Firebase函数中将监听器设置为该特定节点,以检查所有玩家的决定或玩家的决定是否在时间截止日期之后,但我需要处理以下情况:一些玩家及时发送他们的决定-sersnmart不会执行下一个动作,而某个玩家只是不会发送他的决定(eave游戏或其他)-服务器不会再次被戳来检查截止日期和调用函数

这就是为什么我在寻找其他东西,我找到了使用crontab调度函数的方法,但最小的时间间隔似乎只有几分钟,这对我来说要长得多

第二个想法包括在前一个Firebase线程中等待特定的时间间隔,但处理这个问题似乎太糟糕了


哪种方式最适合动态调用短时间间隔计划的Firebase函数?

所以现在我决定使用setTimeout,空闲Firebase计划似乎只限制函数调用数量,而不是工作计划,所以这应该不是问题。除此之外,我仍在等待您的建议,这是通过Google云任务计划在特定时间运行云功能的最佳方式。有关这方面的完整描述,请参见Doug的博客文章:


也就是说,当我需要将操作延迟一小段时间时,我也经常在自己的云函数中使用
setTimeOut
。请记住,您需要为函数休眠的秒数付费,因此从成本角度来看,您需要将该时间与另一次调用的成本进行权衡。

Hey HeroesVII。下面有两个人试图帮助你。如果答案有用,请单击向上投票按钮(▲) 如果它回答了您的问题,请单击复选标记(✓) 接受它。这样别人就会知道你已经得到了(足够的)帮助。也请参见