From 0584f9ee955471fd4d683030dfdbe7b3d12854c0 Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Tue, 7 Sep 2021 21:07:20 -0600 Subject: [PATCH] Update ApiV1Controller, fix empty public timeline bug --- app/Http/Controllers/Api/ApiV1Controller.php | 8 +++++--- app/Services/PublicTimelineService.php | 8 ++++---- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/app/Http/Controllers/Api/ApiV1Controller.php b/app/Http/Controllers/Api/ApiV1Controller.php index b2ce2f85a..f1fe53664 100644 --- a/app/Http/Controllers/Api/ApiV1Controller.php +++ b/app/Http/Controllers/Api/ApiV1Controller.php @@ -1486,9 +1486,11 @@ class ApiV1Controller extends Controller $limit = $request->input('limit') ?? 3; $user = $request->user(); - if(PublicTimelineService::count() == 0) { - PublicTimelineService::warmCache(true, 400); - } + Cache::remember('api:v1:timelines:public:cache_check', 3600, function() { + if(PublicTimelineService::count() == 0) { + PublicTimelineService::warmCache(true, 400); + } + }); if ($max) { $feed = PublicTimelineService::getRankedMaxId($max, $limit); diff --git a/app/Services/PublicTimelineService.php b/app/Services/PublicTimelineService.php index 6f003aed0..35382b050 100644 --- a/app/Services/PublicTimelineService.php +++ b/app/Services/PublicTimelineService.php @@ -48,10 +48,10 @@ class PublicTimelineService { public static function add($val) { - return; - - if(config('database.redis.client') === 'phpredis' && self::count() > 400) { - Redis::zpopmin(self::CACHE_KEY); + if(self::count() > 400) { + if(config('database.redis.client') === 'phpredis') { + Redis::zpopmin(self::CACHE_KEY); + } } return Redis::zadd(self::CACHE_KEY, $val, $val);