From ca02f21812792f62543219d1066dda1034604823 Mon Sep 17 00:00:00 2001 From: shibafu Date: Fri, 11 Jan 2019 22:38:43 +0900 Subject: [PATCH] =?UTF-8?q?=E3=83=81=E3=82=A7=E3=83=83=E3=82=AF=E3=82=A4?= =?UTF-8?q?=E3=83=B3=E6=99=82=E3=81=AE=E3=83=A1=E3=82=BF=E3=83=87=E3=83=BC?= =?UTF-8?q?=E3=82=BF=E5=8F=96=E5=BE=97=E3=81=AB=E5=A4=B1=E6=95=97=E3=81=97?= =?UTF-8?q?=E3=81=9F=E9=9A=9B=E3=80=81=E3=83=AD=E3=82=B0=E3=81=A0=E3=81=91?= =?UTF-8?q?=E6=AE=8B=E3=81=97=E3=81=A6=E7=B5=82=E4=BA=86=E3=81=99=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Listeners/LinkCollector.php | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) 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); + } } } }