diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index 4d655e8..a5b257d 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -44,7 +44,7 @@ class HomeController extends Controller ->orderBy('ejaculations.ejaculated_date', 'desc') ->select('ejaculations.*') ->with('user', 'tags') - ->take(5) + ->take(10) ->get(); return view('home')->with(compact('informations', 'categories', 'publicLinkedEjaculations')); diff --git a/app/Listeners/LinkCollector.php b/app/Listeners/LinkCollector.php index 6bd41ad..3d34b89 100644 --- a/app/Listeners/LinkCollector.php +++ b/app/Listeners/LinkCollector.php @@ -6,8 +6,10 @@ use App\Events\LinkDiscovered; use App\Metadata; use App\MetadataResolver\MetadataResolver; use App\Utilities\Formatter; +use GuzzleHttp\Exception\TransferException; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Contracts\Queue\ShouldQueue; +use Illuminate\Support\Facades\Log; class LinkCollector { @@ -42,13 +44,19 @@ class LinkCollector // TODO: ある程度古かったら再取得とかありだと思う $metadata = Metadata::find($url); if ($metadata == null) { - $resolved = $this->metadataResolver->resolve($url); - Metadata::create([ - 'url' => $url, - 'title' => $resolved->title, - 'description' => $resolved->description, - 'image' => $resolved->image - ]); + try { + $resolved = $this->metadataResolver->resolve($url); + Metadata::create([ + 'url' => $url, + 'title' => $resolved->title, + 'description' => $resolved->description, + 'image' => $resolved->image + ]); + } catch (TransferException $e) { + // 何らかの通信エラーによってメタデータの取得に失敗した時、とりあえずエラーログにURLを残す + Log::error(self::class . ': メタデータの取得に失敗 URL=' . $url); + report($e); + } } } }