【问题标题】:Cloud function for firestore onWrite event very rarely not triggered by a document updateFirestore onWrite 事件的云功能很少不是由文档更新触发的
【发布时间】:2019-05-05 17:33:16
【问题描述】:

每当在 Firestore 集合中创建或更新文档时都会触发我的云函数的数千次执行,其中 两次 根本没有触发该函数。我不知道为什么,一切似乎都正常工作,否则无需更改任何代码。我注意到该文档实际上是由客户端更新的,但由于某种原因该函数没有执行(正如使用日志验证的那样,在客户端更新文档后没有函数运行的痕迹)。

怎么会这样?由于firestore目前处于测试阶段,我是否应该期待这样的问题?再一次,这种情况非常罕见,但确实会导致我们的 Android 应用客户的工作流程受到影响,我们想知道我们可以采取哪些措施来防止此类问题发生。

【问题讨论】:

    标签: firebase google-cloud-firestore google-cloud-functions


    【解决方案1】:

    在 Twitter 上https://twitter.com/abeisgreat/status/1070704684195692544 上分享我从 @abeisgreat 那里得到的答案:-

    “你设置了函数重试吗?这个页面解释它https://firebase.google.com/docs/functions/retries。如果没有重试,我们承诺每个事件“最多一次调用”,这意味着在数千个事件中可能有几个被丢弃,但你可以将其切换为“至少一次”以消除未命中。”

    【讨论】:

      【解决方案2】:

      之前接受的答案似乎已过时。 Firestore 现在保证后台函数“至少执行一次”,并且页面明确指出重试只应用于处理暂时性故障。

      换句话说,如果您的函数代码没有错误,并且您没有调用可能失败的外部资源(如端点),那么使用重试机制没有任何优势。

      【讨论】:

        猜你喜欢
        • 2022-12-20
        • 1970-01-01
        • 2021-03-27
        • 2019-08-07
        • 2021-01-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-08
        相关资源
        最近更新 更多