缓慢的Firebase Firestore冷启动在Cloud Functions中

时间:2019-04-18 21:58:23

标签: node.js firebase google-cloud-firestore google-cloud-functions

在冷启动(部署后或3小时后)中,从Firestore请求文档的功能要花费大量的时间,这与快速使用文档的时间不同。

冷启动:

Function execution took 4593 ms, finished with status code: 200

急速开火(一遍又一遍地使用相同功能发送给我):

Function execution took 437 ms, finished with status code: 200

我获取文档的代码非常简单:

function getWorkspaceDocument(teamSpaceId) {
    return new Promise((resolve, reject) => {
        var teamRef = db.instance.collection('teams').doc(teamSpaceId);
        teamRef.get().then(doc => {
            if (doc.exists) {
                resolve(doc.data());
                return;
            }
            else {
                reject(new Error("Document cant be found"));
                return;
            }
        }).catch(error => {
            reject(new Error("Document cant be found"));
        });
    });
}

我正在尝试制作一个Slack机器人,并且Firebase Firestore的缓慢返回在Slacks API中抛出超时。在Firebase上是否有一种方法可以阻止冷启动的发生并使其持续存在?

1 个答案:

答案 0 :(得分:1)

如果云功能需要启动新实例,则冷启动时间似乎很正常。这是无服务器功能的一个缺点。

我认为您的实施存在问题。您能显示更多详细信息吗?

以下是有关此主题的漂亮视频: https://youtu.be/v3eG9xpzNXM