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 });
});
它以前运行良好,但现在随机大约三分之一的执行被延迟。有时几分钟。在 Cloud Function 日志中,我们看到正常的执行时间 <200 毫秒,因此触发器似乎在暂停后运行。
有时更糟糕的change.after.data()是我们的未定义,但我们从不删除任何东西——它只是更新和创建。
它运行良好,自上周以来我们没有任何改变,但现在它开始出现这种意外的延迟。我们还检查了 firebase 状态,但 firebase 功能服务中没有故障。这可能是什么原因?