mirror of
https://github.com/pixelfed/pixelfed.git
synced 2024-11-10 00:34:50 +00:00
Merge pull request #3961 from pixelfed/staging
Update CloudMediaMigrate command
This commit is contained in:
commit
0ad2623ab1
2 changed files with 56 additions and 32 deletions
|
@ -69,7 +69,7 @@ class CloudMediaMigrate extends Command
|
||||||
return;
|
return;
|
||||||
} catch (NotFoundHttpException $e) {
|
} catch (NotFoundHttpException $e) {
|
||||||
return;
|
return;
|
||||||
} catch (Exception $e) {
|
} catch (\Exception $e) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,8 @@ use Illuminate\Support\Facades\Log;
|
||||||
use Illuminate\Support\Facades\Storage;
|
use Illuminate\Support\Facades\Storage;
|
||||||
use App\Services\MediaService;
|
use App\Services\MediaService;
|
||||||
use App\Services\StatusService;
|
use App\Services\StatusService;
|
||||||
|
use Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException;
|
||||||
|
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
|
||||||
|
|
||||||
class MediaS3GarbageCollector extends Command
|
class MediaS3GarbageCollector extends Command
|
||||||
{
|
{
|
||||||
|
@ -88,26 +90,37 @@ class MediaS3GarbageCollector extends Command
|
||||||
$localDisk = Storage::disk('local');
|
$localDisk = Storage::disk('local');
|
||||||
|
|
||||||
foreach($gc as $media) {
|
foreach($gc as $media) {
|
||||||
if(
|
try {
|
||||||
$cloudDisk->exists($media->media_path)
|
if(
|
||||||
) {
|
$cloudDisk->exists($media->media_path)
|
||||||
if( $localDisk->exists($media->media_path)) {
|
) {
|
||||||
$localDisk->delete($media->media_path);
|
if( $localDisk->exists($media->media_path)) {
|
||||||
$media->version = 4;
|
$localDisk->delete($media->media_path);
|
||||||
$media->save();
|
$media->version = 4;
|
||||||
$totalSize = $totalSize + $media->size;
|
$media->save();
|
||||||
MediaService::del($media->status_id);
|
$totalSize = $totalSize + $media->size;
|
||||||
StatusService::del($media->status_id, false);
|
MediaService::del($media->status_id);
|
||||||
|
StatusService::del($media->status_id, false);
|
||||||
|
} else {
|
||||||
|
$media->version = 4;
|
||||||
|
$media->save();
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$media->version = 4;
|
if($log) {
|
||||||
$media->save();
|
Log::channel('media')->info('[GC] Local media not properly persisted to cloud storage', ['media_id' => $media->id]);
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
if($log) {
|
|
||||||
Log::channel('media')->info('[GC] Local media not properly persisted to cloud storage', ['media_id' => $media->id]);
|
|
||||||
}
|
}
|
||||||
|
$bar->advance();
|
||||||
|
} catch (FileNotFoundException $e) {
|
||||||
|
$bar->advance();
|
||||||
|
continue;
|
||||||
|
} catch (NotFoundHttpException $e) {
|
||||||
|
$bar->advance();
|
||||||
|
continue;
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
$bar->advance();
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
$bar->advance();
|
|
||||||
}
|
}
|
||||||
$bar->finish();
|
$bar->finish();
|
||||||
$this->line(' ');
|
$this->line(' ');
|
||||||
|
@ -132,23 +145,34 @@ class MediaS3GarbageCollector extends Command
|
||||||
->where('id', '<', $minId)
|
->where('id', '<', $minId)
|
||||||
->chunk(50, function($medias) use($cloudDisk, $localDisk, $bar, $log) {
|
->chunk(50, function($medias) use($cloudDisk, $localDisk, $bar, $log) {
|
||||||
foreach($medias as $media) {
|
foreach($medias as $media) {
|
||||||
if($cloudDisk->exists($media->media_path)) {
|
try {
|
||||||
if( $localDisk->exists($media->media_path)) {
|
if($cloudDisk->exists($media->media_path)) {
|
||||||
$localDisk->delete($media->media_path);
|
if( $localDisk->exists($media->media_path)) {
|
||||||
$media->version = 4;
|
$localDisk->delete($media->media_path);
|
||||||
$media->save();
|
$media->version = 4;
|
||||||
MediaService::del($media->status_id);
|
$media->save();
|
||||||
StatusService::del($media->status_id, false);
|
MediaService::del($media->status_id);
|
||||||
|
StatusService::del($media->status_id, false);
|
||||||
|
} else {
|
||||||
|
$media->version = 4;
|
||||||
|
$media->save();
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$media->version = 4;
|
if($log) {
|
||||||
$media->save();
|
Log::channel('media')->info('[GC] Local media not properly persisted to cloud storage', ['media_id' => $media->id]);
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
if($log) {
|
|
||||||
Log::channel('media')->info('[GC] Local media not properly persisted to cloud storage', ['media_id' => $media->id]);
|
|
||||||
}
|
}
|
||||||
|
$bar->advance();
|
||||||
|
} catch (FileNotFoundException $e) {
|
||||||
|
$bar->advance();
|
||||||
|
continue;
|
||||||
|
} catch (NotFoundHttpException $e) {
|
||||||
|
$bar->advance();
|
||||||
|
continue;
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
$bar->advance();
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
$bar->advance();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue