基本上,我正在开发一个系统,其中一些用户(调度员)可以创建呼叫,然后其他用户(志愿者)可以响应这些呼叫。
每个呼叫的状态可以是打开(默认)、覆盖(由志愿者完成)、关闭(也由志愿者完成)。
现在我需要做的是每当创建呼叫(其状态为打开)时,我想安排一个函数每 2 分钟发送一次通知,直到其状态更改为已覆盖。
我尝试在 firebase 云函数中使用 setInterval() ,但我在某处读到,不可能使云函数保持活动状态超过 9 分钟,而且我还面临着一些问题,一旦覆盖调用就取消计时器。
现在我发现云任务对我来说很有用,但我不明白如何在创建呼叫后启动它,然后在呼叫覆盖后取消它。
我在 firebase 数据库中工作过很多次,但云函数对我来说是新事物,所以我对此还算初学者:(
没有什么神奇的服务可以提供一段时间的通知然后停止。要实现这种模式,你必须自己构建它。
你可以想象2种实现方式:
对于调度程序选项,您可以在创建呼叫时创建调度程序。将频率设置为 2 分钟 (
*/2 * * * *
)。
被调用端点检查通话状态:
问题是:我不知道调度程序是否有配额。如果您使用 Cloud Scheduler,我知道至少会产生相关成本。就我个人而言,这不是我的首选
如果您使用任务选项(我的首选选项),您可以在创建呼叫后 2 分钟后创建第一个任务。
被调用端点检查通话状态: