Łuk*_*.pl 7 javascript firebase google-cloud-functions google-cloud-firestore
我们在 Firestore 上运行一个应用程序并得到一个简单的触发器,当订单的详细信息被创建或更新时,它的一些信息应该在父订单集合中重写。
这个函数得到以下代码
export const updateOrderDetails = functions
.region(FUNCTION_REGION)
.firestore.document("orders/{orderId}/details/pickupAndDropoff")
.onWrite(async (change, context) => {
return await admin
.firestore()
.collection("orders")
.doc(context.params.orderId)
.set({ pickupAndDropoff: change.after.data() }, { merge: true });
});
Run Code Online (Sandbox Code Playgroud)
它以前运行良好,但现在随机大约三分之一的执行被延迟。有时几分钟。在 Cloud Function 日志中,我们看到正常的执行时间 <200 毫秒,因此触发器似乎在暂停后运行。
有时更糟糕的change.after.data()是我们的未定义,但我们从不删除任何东西——它只是更新和创建。
它运行良好,自上周以来我们没有任何改变,但现在它开始出现这种意外的延迟。我们还检查了 firebase 状态,但 firebase 功能服务中没有故障。这可能是什么原因?
感谢 Frank van Puffelen 的建议,我们已将此问题直接发送给 Firebase 支持人员,经过他们的内部调查,我们得到了工程团队的答复,这实际上是基础设施故障。
我从他们那里得到的答复是:
我升级了问题以恢复更多信息。到目前为止,发布/订阅交付和创建事件似乎存在问题。Firestore 团队还在与 pub/sub 团队沟通,以调查该问题并防止将来发生此类事件。
看来处理此类问题的最佳方法是快速直接写信给 Firebase 支持团队,因为正如他们在我发送支持票证后收到的自动回复中提到的那样:
对于状态信息中心未列出的 Firebase 中断,我们将在 4 小时内做出响应。
这似乎是最好的选择。
| 归档时间: |
|
| 查看次数: |
217 次 |
| 最近记录: |