From b0e09d79a4bf29fd7ab153d3480e4bc6856e4140 Mon Sep 17 00:00:00 2001 From: xiaomlove Date: Fri, 8 Apr 2022 23:56:51 +0800 Subject: [PATCH] checkMinInterval use last_action --- app/Repositories/TrackerRepository.php | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/app/Repositories/TrackerRepository.php b/app/Repositories/TrackerRepository.php index 1541aaeb..071b7ba3 100644 --- a/app/Repositories/TrackerRepository.php +++ b/app/Repositories/TrackerRepository.php @@ -423,12 +423,16 @@ class TrackerRepository extends BaseRepository ->first(); if ($peer) { + $lastAction = $peer->last_action; + $isLastActionValidDate = $peer->isValidDate('last_action'); + $diffInSeconds = Carbon::now()->diffInSeconds($peer->last_action); + $min = self::MIN_ANNOUNCE_WAIT_SECOND; do_log(sprintf( - 'event: %s, prev_action: %s, isValidDate: %s, diffInSeconds: %s', - $queries['event'], $peer->prev_action, var_export($peer->isValidDate('prev_action'), true), Carbon::now()->diffInSeconds($peer->prev_action) + 'event: %s, last_action: %s, isLastActionValidDate: %s, diffInSeconds: %s', + $queries['event'], $lastAction, var_export($isLastActionValidDate, true), $diffInSeconds )); - if ($queries['event'] == '' && $peer->isValidDate('prev_action') && Carbon::now()->diffInSeconds($peer->prev_action) < self::MIN_ANNOUNCE_WAIT_SECOND) { - throw new TrackerException('There is a minimum announce time of ' . self::MIN_ANNOUNCE_WAIT_SECOND . ' seconds'); + if ($queries['event'] == '' && $isLastActionValidDate && $diffInSeconds < $min) { + throw new TrackerException('There is a minimum announce time of ' . $min . ' seconds'); } } return $peer;