メタデータの再取得判定をチェックイン時の処理にも実装

This commit is contained in:
shibafu 2019-01-16 00:21:19 +09:00
parent cd26ef6236
commit cef23a64cb

View File

@ -43,14 +43,14 @@ class LinkCollector
// 無かったら取得 // 無かったら取得
// TODO: ある程度古かったら再取得とかありだと思う // TODO: ある程度古かったら再取得とかありだと思う
$metadata = Metadata::find($url); $metadata = Metadata::find($url);
if ($metadata == null) { if ($metadata == null || ($metadata->expires_at !== null && $metadata->expires_at < now())) {
try { try {
$resolved = $this->metadataResolver->resolve($url); $resolved = $this->metadataResolver->resolve($url);
Metadata::create([ Metadata::updateOrCreate(['url' => $url], [
'url' => $url,
'title' => $resolved->title, 'title' => $resolved->title,
'description' => $resolved->description, 'description' => $resolved->description,
'image' => $resolved->image 'image' => $resolved->image,
'expires_at' => $resolved->expires_at
]); ]);
} catch (TransferException $e) { } catch (TransferException $e) {
// 何らかの通信エラーによってメタデータの取得に失敗した時、とりあえずエラーログにURLを残す // 何らかの通信エラーによってメタデータの取得に失敗した時、とりあえずエラーログにURLを残す