Файловая система Laravel Slow на FTP - как сохранить соединение открытым? - PullRequest
0 голосов
/ 12 сентября 2018

Я подключаюсь к FTP-серверу для клиента и загружаю любые файлы изображений, которые были обновлены с момента последнего импорта продукта.

Это мучительно медленно (даже для FTP).В настоящее время у меня есть этот скрипт, я прокомментировал в коде, что и для чего.

// get last import
$history = History::orderBy('created_at', 'desc')->first();

//get all images in directory (just file path no extra info)
$images = Storage::disk($disk)->files($directory);

$import = 0;
$skip = 0;
$error = 0;

foreach ($images as $image) {
// get the date the image was last updated 
    $modified = Storage::disk($disk)->lastModified($image);
    try{
    // if the image was modified after the last import then download, else skip
        if($modified > $history->created_at->format('U')){
            $import++;
            $content = Storage::disk($disk)->get($image);
            Storage::put($image, $content);
        }
        else{
            $skip++;
        }
   } catch(\ErrorException $e){
            $error++;
   }
}

Из того, что я могу понять, главная проблема заключается в том, что Laravel открывает и закрывает FTP-соединение на каждой итерациидля каждого цикла.

Кто-нибудь знает, есть ли способ сохранить это соединение открытым во время выполнения скрипта или, возможно, лучшее решение, чем это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...