【发布时间】:2022-06-29 07:04:35
【问题描述】:
我在Firebase Github repo 中有一个(非常轻微的)修改版 generateThumbnail Firebase 云函数。该函数在某一时刻工作正常,现在每次调用它都会超时。我没有对函数或存储桶的规则进行任何更改。这些规则是检查身份验证的默认规则。添加一些日志记录后,我可以看到它永远不会超过这一行:
await file.download({destination: tempLocalFile});
我正在测试的图像文件是 15.21KB PNG。该函数的超时发生在 ~60000 毫秒(默认)之后。日志中没有错误,只有超时。
关于它为什么突然开始超时的任何建议?或者如何进一步调试这个单一的调用?
- 节点:14
- Firebase 管理员:9.8.0
- Firebase 功能:3.14.1
编辑
我已经部署了一个最小的可重现函数并且看到了相同的结果。
exports.newGenerateThumbnail = functions.storage.object().onFinalize(async (object) => {
const filePath = object.name;
const tempLocalFile = path.join(os.tmpdir(), filePath);
const tempLocalDir = path.dirname(tempLocalFile);
// Cloud Storage files.
const bucket = admin.storage().bucket(object.bucket);
const file = bucket.file(filePath);
functions.logger.log('Creating Temp Directory');
await mkdirp(tempLocalDir);
functions.logger.log('Temp Directory Created');
functions.logger.log('Downloading File');
await file.download({ destination: tempLocalFile });
functions.logger.log('File Downloaded');
functions.logger.log('Removing File');
fs.unlinkSync(tempLocalFile);
functions.logger.log('File Deleted');
return true;
});
日志显示了这一点
【问题讨论】:
-
尝试使用promise
-
使用 Promise 不会改变任何东西。
-
嗨,正如你提到的
I have a (very slightly) modified version of the generateThumbnail Firebase Cloud Function found in the Firebase Github repo,你能提供你修改过的代码吗,我试图在我的最后重现,但它似乎工作正常。 -
更改的是路径/文件名。我将在今天晚些时候用最少的可重现代码更新我的问题。谢谢
-
我用一个重现问题的最小示例更新了我的问题。
标签: firebase google-cloud-functions firebase-storage