node.js - Google Cloud Run 容器的实例会覆盖临时文件吗?
问题描述
我正在使用具有默认设置(每个实例 80 个请求)的 Cloud Run,运行带有 node 和 express 的容器。
处理请求时,服务需要创建一个临时文件。我想知道当多个请求同时到达时,它们会同时处理吗?因此,如果文件命名相同,是否可以在第一个进程完成之前被另一个进程覆盖?
对于 Node,我认为我们没有并行进程,但我认为除非 express 按顺序处理请求,否则仍然可能存在冲突。
解决方案
如果设置max concurrency = 1
,则可以使用相同的文件名。
如果您使用max concurrency > 1
,那么如果使用相同的文件名,那么在处理文件时,您将面临多个请求发生冲突的风险。最好的办法是为每个请求使用唯一的临时文件名,并确保在最后将其删除。
推荐阅读
- python - 字符列表而不是 Python 中的字符串
- amazon-web-services - 多个 AWS 账户的 Bitbucket Pipeline 配置?
- hyperledger-fabric - Hyperledger Fabric 1.3 中存储的链码在哪里
- java - 收到信号时优雅地关闭应用程序
- python - 如何绘制绘图python的导数?
- android - 当背景以编程方式为空时,EditText 具有顶部额外空间问题
- javascript - 对部分字符串日期进行排序
- google-apps-script - Google App 脚本仅使用数据提取行
- swift - UIAlertController 已完成并呈现,但在 viewDidLoad 期间未出现
- php - SQL 返回错误的行数