仅在设定时间后运行一次 cron 作业

Mar*_*pai 6 google-app-engine firebase google-cloud-platform google-cloud-functions google-cloud-firestore

我需要运行一个 cron 作业来在设定的时间间隔后执行一次特定的云功能,但有点不确定如何执行。有没有办法通过目前的google云平台来做到这一点?

Ren*_*nec 3

通过评论更新以下我们的讨论:

如果您想“在创建 Firestore 数据库 2 小时后更改文档”,您可以执行以下操作:

  1. 在 Firestore 中创建文档时,保存创建日期/时间,例如firebase.firestore.FieldValue.serverTimestamp()
  2. 有一个定期调用的 HTTP 云函数,如下所述(每分钟?每 5 分钟?),首先选择 2 小时前创建的文档(基于保存的时间戳),然后对这些文档执行所需的操作文档。

如果您想通过 cron 作业触发云函数,请注意,您通常会通过 HTTP 云函数来执行此操作,通过 cron 作业调用云函数 URL。

您可以使用cron-job.org等外部服务,也可以使用 GCP 的 App Engine 和 Cloud Pub/Sub

请观看此视频:https://www.youtube.com/watch ?v=fEBPAMSk5_8

以及这篇博文:https://firebase.googleblog.com/2017/03/how-to-schedule-cron-jobs-with-cloud.html

均来自 Firebase 团队。


最后注意一下,最近GCP推出了一个新产品Cloud Scheduler,可以用来调用HTTP Cloud Functions。