Firebase云功能非常慢

时间:2017-12-18 00:21:50

标签: firebase firebase-realtime-database firebase-storage google-cloud-functions

我在Firebase的免费层上,我有一个由实时数据库写入触发的云功能。然后,该功能从Firebase Storage(~8 Mb)下载文件,进行一些处理,并写回实时数据库。我在整个函数中添加了一些日志记录语句,以找出它花了这么长时间的原因。

  • 立即触发该功能(好)。
  • 该文件下载约3分钟(不好)。
  • 处理大约需要20分钟(呃,什么?)

该功能在<我在本地运行10秒钟。 为什么云功能需要这么长的时间?

功能/ index.js

exports.doStuff = functions.database.ref('/my/path/{pushId}')
.onWrite(event => {
  const implementation = require('./implementation');

  // Variables omitted for brevity...

  implementation.process(...variables);

  return true;
});

功能/ implementation.js

function process(...variables) {
  const Storage = require('@google-cloud/storage');
  const storage = new Storage();

  // Variables omitted for brevity...

  const options = {
    destination: tempFilePath,
  };

  storage
    .bucket(bucketName)
    .file(srcFilename)
    .download(options)
    .then(() => {
      console.log('This takes 3+ minutes for an 8 Mb file');
      doStuffWithDownloadedFile(tempFilePath);
    })
    .catch(error => {
      console.error('ERROR: ', error);
    });
}

0 个答案:

没有答案