Firebase 是否有方法定义在更新/创建对象中指定为字段的日期时间可靠运行的触发器? 问题

Firebase 是否有方法定义在更新/创建对象中指定为字段的日期时间可靠运行的触发器? 问题,firebase,firebase-realtime-database,scheduled-tasks,google-cloud-functions,Firebase,Firebase Realtime Database,Scheduled Tasks,Google Cloud Functions,当对象的字段x(包含时间戳)被创建/更新时,是否有可能(如果有,如何实现)在x中指定的时间调用特定触发器(可能调用无服务器函数) 我的特定背景 在我的特定实例中,对象可以看作是一个任务。我希望这样,当创建任务时,一个无服务器函数会尝试完成任务,如果没有成功,它会用部分结果更新记录,并在字段x中指定下一次尝试的时间 尝试不应以固定的间隔进行。例如,一项任务可能需要大约每30秒连续尝试10次,但随后可能需要等待8小时。当前无法在某个时间间隔后(重新)触发节点上的云功能 最接近的方法是定期安排cron

当对象的字段
x
(包含时间戳)被创建/更新时,是否有可能(如果有,如何实现)在
x
中指定的时间调用特定触发器(可能调用无服务器函数)

我的特定背景 在我的特定实例中,对象可以看作是一个任务。我希望这样,当创建任务时,一个无服务器函数会尝试完成任务,如果没有成功,它会用部分结果更新记录,并在字段
x
中指定下一次尝试的时间


尝试不应以固定的间隔进行。例如,一项任务可能需要大约每30秒连续尝试10次,但随后可能需要等待8小时。

当前无法在某个时间间隔后(重新)触发节点上的云功能

最接近的方法是定期安排cron作业在任务列表上运行。要了解更多信息,请参见,这个,还有这个


我承认我从不喜欢使用这种cron作业方法,因为您必须查询列表才能找到要处理的项。不久前,我编写了一个更高效的解决方案,在节点进程中运行优先级队列。我的代码有点凌乱,所以我还没有准备好分享它,但它不是很多(问题是我可能有10到9000多个任务,我希望它尽可能并发。随着任务量的增加,单个cron作业不是不够吗?是的。事实上,我的优先级队列使用单个计时器来处理节点进程可以处理的任何数量的任务。使用cron作业,您只需决定粒度即可因为您必须定义创建cron作业时,cron作业执行其触发器的频率。