From a7d007053bd001a88232718531e43efd299d84e5 Mon Sep 17 00:00:00 2001 From: xiaomlove Date: Tue, 4 Jul 2023 01:16:06 +0800 Subject: [PATCH] del invalid claim --- app/Repositories/ClaimRepository.php | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/app/Repositories/ClaimRepository.php b/app/Repositories/ClaimRepository.php index b9488706..3375970d 100644 --- a/app/Repositories/ClaimRepository.php +++ b/app/Repositories/ClaimRepository.php @@ -184,6 +184,7 @@ class ClaimRepository extends BaseRepository $reachedTorrentIdArr = $unReachedTorrentIdArr = $remainTorrentIdArr = $unReachedIdArr = $toUpdateIdArr = []; $totalSeedTime = 0; $seedTimeCaseWhen = $uploadedCaseWhen = []; + $toDelClaimId = []; do_log( "uid: $uid, claim torrent count: " . $list->count() . ", seedTimeRequiredHours: $seedTimeRequiredHours" @@ -199,6 +200,16 @@ class ClaimRepository extends BaseRepository return false; } } + if (!$row->snatch) { + $toDelClaimId[$row->id] = $row->id; + do_log("No snatch, continue", 'alert'); + continue; + } + if (!$row->torrent) { + $toDelClaimId[$row->id] = $row->id; + do_log("No torrent, continue", 'alert'); + continue; + } if ( bcsub($row->snatch->seedtime, $row->seed_time_begin) >= $seedTimeRequiredHours * 3600 || bcsub($row->snatch->uploaded, $row->uploaded_begin) >= $uploadedRequiredTimes * $row->torrent->size @@ -276,6 +287,10 @@ class ClaimRepository extends BaseRepository //Send message Message::add($message); }); + if (!empty($toDelClaimId)) { + do_log("del claim: %s", json_encode($toDelClaimId)); + Claim::query()->whereIn("id", array_keys($toDelClaimId))->delete(); + } do_log("[DONE], cost time: " . (time() - $now->timestamp) . " seconds"); return true; }