From 2e4b5308f65e3295c687ded2cd55a63658298268 Mon Sep 17 00:00:00 2001 From: Dominik Hebeler <dominik@suma-ev.de> Date: Wed, 19 Feb 2020 20:38:32 +0100 Subject: [PATCH] using cache connection more --- app/Console/Commands/RequestFetcher.php | 14 +++++++------- app/MetaGer.php | 3 +-- app/Models/Quicktips/Quicktips.php | 2 +- app/Models/Searchengine.php | 5 +++-- routes/web.php | 4 +++- 5 files changed, 15 insertions(+), 13 deletions(-) diff --git a/app/Console/Commands/RequestFetcher.php b/app/Console/Commands/RequestFetcher.php index 41022c5aa..f932b92b0 100644 --- a/app/Console/Commands/RequestFetcher.php +++ b/app/Console/Commands/RequestFetcher.php @@ -56,13 +56,14 @@ class RequestFetcher extends Command try { $blocking = false; + $redis = Redis::connection("cache"); while ($this->shouldRun) { $status = curl_multi_exec($this->multicurl, $active); $currentJob = null; if (!$blocking) { - $currentJob = Redis::lpop(\App\MetaGer::FETCHQUEUE_KEY); + $currentJob = $redis->lpop(\App\MetaGer::FETCHQUEUE_KEY); } else { - $currentJob = Redis::blpop(\App\MetaGer::FETCHQUEUE_KEY, 1); + $currentJob = $redis->blpop(\App\MetaGer::FETCHQUEUE_KEY, 1); if (!empty($currentJob)) { $currentJob = $currentJob[1]; } @@ -97,11 +98,8 @@ class RequestFetcher extends Command $body = \curl_multi_getcontent($info["handle"]); } - Redis::pipeline(function ($pipe) use ($resulthash, $body, $cacheDurationMinutes) { - $pipe->set($resulthash, $body); - $pipe->expire($resulthash, 60); - Cache::put($resulthash, $body, $cacheDurationMinutes * 60); - }); + Cache::put($resulthash, $body, $cacheDurationMinutes * 60); + \curl_multi_remove_handle($this->multicurl, $info["handle"]); } if (!$active && !$answerRead) { @@ -110,6 +108,8 @@ class RequestFetcher extends Command usleep(50 * 1000); } } + } catch (\Exception $e) { + Log::error($e->getMessage()); } finally { curl_multi_close($this->multicurl); } diff --git a/app/MetaGer.php b/app/MetaGer.php index 47bcb73a9..dd19664bd 100644 --- a/app/MetaGer.php +++ b/app/MetaGer.php @@ -6,7 +6,6 @@ use App; use Cache; use Carbon; use Illuminate\Http\Request; -use Illuminate\Support\Facades\Redis; use Jenssegers\Agent\Agent; use LaravelLocalization; use Log; @@ -854,7 +853,7 @@ class MetaGer while (sizeof($enginesToWaitFor) > 0 || ($forceTimeout !== null && (microtime(true) - $timeStart) < $forceTimeout)) { foreach ($enginesToWaitFor as $index => $engine) { - if (Redis::get($engine->hash) !== null) { + if (Cache::get($engine->hash) !== null) { $answered[] = $engine; unset($enginesToWaitFor[$index]); break; diff --git a/app/Models/Quicktips/Quicktips.php b/app/Models/Quicktips/Quicktips.php index 06306dcde..b91b69311 100644 --- a/app/Models/Quicktips/Quicktips.php +++ b/app/Models/Quicktips/Quicktips.php @@ -46,7 +46,7 @@ class Quicktips $mission = json_encode($mission); - Redis::rpush(\App\MetaGer::FETCHQUEUE_KEY, $mission); + Redis::connection('cache')->rpush(\App\MetaGer::FETCHQUEUE_KEY, $mission); } } diff --git a/app/Models/Searchengine.php b/app/Models/Searchengine.php index ef364a50c..5b131e377 100644 --- a/app/Models/Searchengine.php +++ b/app/Models/Searchengine.php @@ -3,6 +3,7 @@ namespace App\Models; use App\MetaGer; +use Cache; use Illuminate\Support\Facades\Redis; abstract class Searchengine @@ -147,7 +148,7 @@ abstract class Searchengine // Submit this mission to the corresponding Redis Queue // Since each Searcher is dedicated to one specific search engine // each Searcher has it's own queue lying under the redis key <name>.queue - Redis::rpush(\App\MetaGer::FETCHQUEUE_KEY, $mission); + Redis::connection('cache')->rpush(\App\MetaGer::FETCHQUEUE_KEY, $mission); if (!empty($timings)) { $timings["startSearch"][$this->name]["pushed job"] = microtime(true) - $timings["starttime"]; } @@ -193,7 +194,7 @@ abstract class Searchengine $body = ""; } } else { - $body = Redis::get($this->hash); + $body = Cache::get($this->hash); } if ($body !== null) { diff --git a/routes/web.php b/routes/web.php index 16b658253..2fa9efec4 100644 --- a/routes/web.php +++ b/routes/web.php @@ -21,7 +21,9 @@ Route::group( /** ADD ALL LOCALIZED ROUTES INSIDE THIS GROUP **/ Route::get('/', 'StartpageController@loadStartPage'); - + Route::get('sand', function () { + abort(500, "test"); + }); Route::get('asso', function () { return view('assoziator.asso') ->with('title', trans('titles.asso')) -- GitLab