laravel - 文件在 50 个文件上获取内容太慢
问题描述
我需要将现有的私有 s3 文件复制到另一个目录,但我的过程太慢了,在我的本地每个文件的每个 file_get_content 2 秒。
我的问题是我处理的大多数文件都是 50 多个文件,所以如果你总共需要 2 秒 * 50 并且等待进程完成的时间量真的不是很好的用户体验,那么我能做的最好的方法是什么重构这个?队列目前不是一个真正的选择
foreach ($sourceAttachmentFiles as $sourceAttachmentFile) {
$newFullFileName = $newDirectory.$sourceAttachmentFile->filename;
// 2 seconds every loop
$content = file_get_contents($sourceAttachmentFile->getS3SignedUrl());
Storage::disk('s3')->put($newFullFileName, $content, 'private');
}
解决方案
推荐阅读
- terraform - 如何从任意数量的输入参数创建 RDS 参数组?
- anylogic - 使用动态事件从等待块中释放托盘
- python - 根据用户在 Python 中所说的话改变问题的数量
- html - 如何将我的文本/边框与我的页面中心对齐元素?
- swift - 如何使用字节数组在 Swift 中初始化 struct 对象?
- typescript - 如何根据传递给剩余参数函数的参数数量指定不同的返回类型
- python - 何时使用 imputer1.fit(X.iloc[:, 0:3]) 与 imputer.fit(X[:, 1:3]) 0
- c - 为什么 malloc/calloc 无法为结构数组中的某些成员分配内存?
- python - Python PIP 安装缓存路径 [windows]
- php - 将选择放入变量中