pixelfed/app/Console/Commands/CatchUnoptimizedMedia.php

60 lines
1.3 KiB
PHP
Raw Permalink Normal View History

<?php
namespace App\Console\Commands;
2019-07-25 04:24:27 +00:00
use DB;
use App\Jobs\ImageOptimizePipeline\ImageOptimize;
2018-08-28 03:07:36 +00:00
use App\Media;
use Illuminate\Console\Command;
class CatchUnoptimizedMedia extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'media:optimize';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Find and optimize media that has not yet been optimized.';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct(Media $media)
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
2022-12-18 03:28:23 +00:00
Media::whereNull('processed_at')
->where('created_at', '>', now()->subHours(1))
->where('skip_optimize', '!=', true)
->whereNull('remote_url')
->whereNotNull('status_id')
->whereNotNull('media_path')
->whereIn('mime', [
'image/jpeg',
'image/png',
])
->chunk(50, function($medias) {
foreach ($medias as $media) {
ImageOptimize::dispatch($media);
}
});
}
}