【问题标题】:Firebase Cloud function Temp StorageFirebase Cloud 功能临时存储
【发布时间】:2020-10-04 00:23:48
【问题描述】:

我在 Firebase 中创建了一个调整图像大小的云功能。因此,我下载了图像并将其保存在临时存储中。

const tmp = require('tmp-promise');
const { path: tmpDirPath } = await tmp.dir();

https://www.npmjs.com/package/tmp-promise

firebase 文档说“始终删除临时文件”。 https://firebase.google.com/docs/functions/tips#write_idempotent_functions

这个包会自动执行此操作还是我应该运行特定代码? 如果函数被多次触发(有多个实例,每个实例同时转换一张图片),这会不会干扰?

提前致谢!

【问题讨论】:

    标签: javascript firebase google-cloud-functions


    【解决方案1】:

    该库无法知道何时删除它创建的任何文件。只有您自己知道,而且您必须编写函数代码以在函数终止之前删除这些文件,并且这些文件不再使用。

    【讨论】:

    • 好的我明白了,非常感谢!但想象以下场景:2 个用户几乎同时触发该功能(相差 1000 毫秒)。如果第一个实例完成,它会擦除​​临时存储。这会给当时正在转换并因此依赖临时存储的第二个实例带来错误吗?还是实例彼此分开?
    • 这不是它的工作方式。分配给函数的服务器实例只会串行执行函数。在函数方面没有并发或多线程。当负载足够高时,将分配更多的服务器实例,并且它们不会共享 tmp 空间。
    猜你喜欢
    • 2018-12-06
    • 2020-11-22
    • 1970-01-01
    • 2021-01-01
    • 2021-11-25
    • 2021-02-05
    • 2019-01-10
    • 2020-01-25
    • 2021-09-08
    相关资源
    最近更新 更多