为什么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...
- 当前环境不支持指定的持久性types的Firebase
- Firebase:如何以编程方式为类似于`firebase.auth()。currentUser.getIdToken(false)`的特定用户生成一个jwt标记?
- 使用.limit()和Firestore查询
- 使用Firebase身份validation和Express身份validation社交login?
- Firebase函数signInWithCustomToken与Node.js一起未定义
- 对高度请求的队列进行Firebase优化
- 如何使用.push()添加数据后查询Firebase数据?
- 成功sendToDevice后,Firebase云消息传递不起作用
- 从另一个云function调用云function