为什么Firebase的云端function需要25秒?
为了清楚起见,我有其他的云function,它们都是间歇性地运行的(例如,从大约2-6秒的“冷”开始,并且全部使用相同的样板设置来导入pipe理实例并将该function作为模块输出)
我见过其他类似的post,但这实在是在烦扰我。 我有这样的云function:
const admin = require('../AdminConfig'); const { reportError } = require('../ReportError'); module.exports = (event) => { const uid = event.params.uid; const snapshot = event.data; if (snapshot._newData === null ) { return null; } console.log('Create org begin running: ', Date.now()); const organisation = event.data.val(); const rootRef = admin.database().ref(); const ref = rootRef.child('/organisations').push(); const oid = ref.key; const userData = { level: 'owner', name: organisation.name, }; const orgShiftInfo = { name: organisation.name, startDay: organisation.startDay || 'Monday', }; const updatedData = {}; updatedData[`/users/${uid}/currentOrg`] = oid; updatedData[`/users/${uid}/organisations/${oid}`] = userData; updatedData[`/organisations/${oid}`] = organisation; updatedData[`/org_shift_info/${oid}`] = orgShiftInfo; rootRef.update(updatedData, (err) => { if (err) { return rootRef.child(`/users/${uid}/addOrgStatus`).set({ error: true }) .then(() => { console.log(`error adding organisation for ${uid}: `, err); return reportError(err, { uid }); }); } console.log('Create org wrote succesfully: ', Date.now()); return rootRef.child(`/users/${uid}/addOrgStatus`).set({ success: true }); }); }
我了解“冷启动”的事情,但我认为有25秒的时间是严重的错误。 日志不会返回任何错误,如下所示:
有没有更深一层的方式,我可以debugging这个试图找出为什么它需要这么久? 目前无法使用。 非常感谢。
解决:对不起,我误解了一下API。 我应该先看看承诺video !
我需要投入
return rootRef.update...
代替
rootRef.update...
- 无法执行Firebase部署 – 错误:指定的Firebase无效
- admin.firestore不是在使用google云function和node.js时的function
- 无法获取节点JS应用程序中的Firebase运行
- 使用Firebase身份validation和Express身份validation社交login?
- 如何在firebase的云端函数中读取单个请求中多个用户ID的数据
- child_changed事件firebase
- 较新版本的Firebase Node.js SDK初始化不起作用 – 旧版本不能
- Firebase Cloudfunction在特定时间后自动删除数据
- 如何让从Firebase上的Facebook身份validation生成的UID始终保持在我的应用程序?