首页 > 解决方案 > 文件在 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');
}

标签: laravelamazon-web-servicesamazon-s3laravel-5

解决方案


推荐阅读