首页 > 解决方案 > Google Cloud Run 容器的实例会覆盖临时文件吗?

问题描述

我正在使用具有默认设置(每个实例 80 个请求)的 Cloud Run,运行带有 node 和 express 的容器。

处理请求时,服务需要创建一个临时文件。我想知道当多个请求同时到达时,它们会同时处理吗?因此,如果文件命名相同,是否可以在第一个进程完成之前被另一个进程覆盖?

对于 Node,我认为我们没有并行进程,但我认为除非 express 按顺序处理请求,否则仍然可能存在冲突。

标签: node.jsexpressgoogle-cloud-platformgoogle-cloud-run

解决方案


如果设置max concurrency = 1,则可以使用相同的文件名。

如果您使用max concurrency > 1,那么如果使用相同的文件名,那么在处理文件时,您将面临多个请求发生冲突的风险。最好的办法是为每个请求使用唯一的临时文件名,并确保在最后将其删除。


推荐阅读