事件发生一分钟后如何执行firebase云功能?

Posted

技术标签:

【中文标题】事件发生一分钟后如何执行firebase云功能?【英文标题】:How to execute firebase cloud function one minute after an event occurred? 【发布时间】:2020-02-29 09:50:32 【问题描述】:

我正在为我的 android 应用程序使用 Firebase 实时数据库。我想在数据库写入发生后一分钟执行一个 firebase 函数(而不是像 Cron 作业那样每隔 1 分钟执行一次)。可能吗?如果可能,我该怎么做?

【问题讨论】:

Firebase 不支持此功能,但您可以解决此问题。 该函数在触发时被调用,但您可以设置 setTimeout() 函数来延迟代码的执行。 【参考方案1】:

Cloud Functions 不提供延迟调用,但您可以与 Cloud Tasks 集成,以便在延迟后安排对另一个函数的回调。

【讨论】:

medium.com/firebase-developers/…【参考方案2】:

这是一种解决方法,如果您想延迟相当长的时间,请考虑注意云函数超时选项,如果需要,增加它默认超时是在函数第一次开始执行的 60 秒之后

export const Your function Name = functions
  .runWith( timeoutSeconds: 120 ) // set the timeout in second, (the type is number)
  .https.onRequest(async (req, res) => 

你可以把你想要延迟的所有东西都包装在一个函数中

setTimeout(() => // your code inside the functions you want it to be delayed , delay time in seconds)函数

【讨论】:

以上是关于事件发生一分钟后如何执行firebase云功能?的主要内容,如果未能解决你的问题,请参考以下文章

如何修复应用休眠 1 分钟后未收到 Firebase FCM 的通知

Firebase云调度程序功能成本[关闭]

使用 Firebase 云消息传递,还是让应用通过 API 请求事件和触发通知?

您如何避免使用 firebase 云功能可能出现的竞争情况?

Swift Firebase 查询最多需要一分钟

使用云功能从firebase数据库中读取数据而不依赖于事件[重复]