【发布时间】:2020-02-27 01:15:18
【问题描述】:
显然,我们的云函数触发的某些 onCreate/onDelete 事件被多次接收! 我们观察到它们在云函数实例之间传播时甚至相隔几秒钟到达 3 次。这是正常行为还是我们做错了什么?
【问题讨论】:
标签: firebase firebase-realtime-database google-cloud-functions
显然,我们的云函数触发的某些 onCreate/onDelete 事件被多次接收! 我们观察到它们在云函数实例之间传播时甚至相隔几秒钟到达 3 次。这是正常行为还是我们做错了什么?
【问题讨论】:
标签: firebase firebase-realtime-database google-cloud-functions
看看我在下面粘贴的这个“Firebase Google 群组”post 的内容。它写于 2018 年 8 月,但在撰写此“复制/粘贴答案”时仍然完全有效。
云函数通常 保证您的函数“至少运行一次”,这意味着 事件很有可能(但通常很少见) 多次交付给您的职能部门。为了解决这个问题,您的 函数应该是“幂等的”,这意味着接收相同的 多次事件应该不会导致任何进一步的变化 这是你需要更新。这可能有点挑战性,但它是 需要处理的无服务器系统的属性之一 如果它对您的应用有问题。
https://cloud.google.com/functions/docs/bestpractices/tips#write_idempotent_functions
【讨论】: