浏览代码

Add RegenerateThumbnails command

Daniel Supernault 6 年之前
父节点
当前提交
a3be4cd697
共有 1 个文件被更改,包括 51 次插入0 次删除
  1. 51 0
      app/Console/Commands/RegenerateThumbnails.php

+ 51 - 0
app/Console/Commands/RegenerateThumbnails.php

@@ -0,0 +1,51 @@
+<?php
+
+namespace App\Console\Commands;
+
+use Illuminate\Console\Command;
+use App\Media;
+use DB;
+
+class RegenerateThumbnails extends Command
+{
+    /**
+     * The name and signature of the console command.
+     *
+     * @var string
+     */
+    protected $signature = 'regenerate:thumbnails';
+
+    /**
+     * The console command description.
+     *
+     * @var string
+     */
+    protected $description = 'Regenerate thumbnails';
+
+    /**
+     * Create a new command instance.
+     *
+     * @return void
+     */
+    public function __construct()
+    {
+        parent::__construct();
+    }
+
+    /**
+     * Execute the console command.
+     *
+     * @return mixed
+     */
+    public function handle()
+    {
+        DB::transaction(function() {
+            Media::whereIn('mime', ['image/jpeg', 'image/png'])
+                ->chunk(50, function($medias) {
+                    foreach($medias as $media) {
+                        \App\Jobs\ImageOptimizePipeline\ImageThumbnail::dispatch($media);
+                    }
+                });
+        });
+    }
+}