From f71f0b1e317bd73a4f5d35540c1b424b4a0057f1 Mon Sep 17 00:00:00 2001 From: Dominik Pfennig <dominik@suma-ev.de> Date: Mon, 18 Jul 2016 11:07:51 +0200 Subject: [PATCH] =?UTF-8?q?Wenn=20keine=20Redis-Verbindung=20zum=20Logs-Se?= =?UTF-8?q?rver=20aufgebaut=20werden=20kann,=20st=C3=BCrzt=20das=20Skript?= =?UTF-8?q?=20nicht=20mehr=20ab?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/MetaGer.php | 5 +++- app/Providers/AppServiceProvider.php | 39 ++++++++++++++++------------ 2 files changed, 27 insertions(+), 17 deletions(-) diff --git a/app/MetaGer.php b/app/MetaGer.php index 03679ee95..91e8ed61f 100644 --- a/app/MetaGer.php +++ b/app/MetaGer.php @@ -152,7 +152,7 @@ class MetaGer private function createLogs() { $redis = Redis::connection('redisLogs'); - if( $redis ) + try { $logEntry = ""; $logEntry .= "[" . date(DATE_RFC822, mktime(date("H"),date("i"), date("s"), date("m"), date("d"), date("Y"))) . "]"; @@ -176,6 +176,9 @@ class MetaGer $logEntry .= " iter= mm= time=" . round((microtime(true)-$this->starttime), 2) . " serv=" . $this->fokus . " which= hits= stringSearch= QuickTips= SSS= check="; $logEntry .= " search=" . $this->eingabe; $redis->rpush('logs.search', $logEntry); + }catch( \Exception $e) + { + return; } } diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 775130e3a..9538eae6c 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -28,25 +28,32 @@ class AppServiceProvider extends ServiceProvider $today = strtotime(date(DATE_RFC822, mktime(0,0,0, date("m"), date("d"), date("Y")))); $end = strtotime(date(DATE_RFC822, mktime(date("H"),date("i"), date("s"), date("m"), date("d"), date("Y")))) - $today; $expireAt = strtotime(date(DATE_RFC822, mktime(0,0,0, date("m"), date("d")+1, date("Y")))); - $redis = Redis::connection('redisLogs'); - $p = getmypid(); - $host = gethostname(); - $begin = $this->begin - $today; - $redis->pipeline(function($pipe) use ($p, $expireAt, $host, $begin, $end) - { - for( $i = $begin; $i <= $end; $i++) + try{ + $redis = Redis::connection('redisLogs'); + if( !$redis ) + return; + $p = getmypid(); + $host = gethostname(); + $begin = $this->begin - $today; + $redis->pipeline(function($pipe) use ($p, $expireAt, $host, $begin, $end) { - $pipe->sadd("logs.worker.$host.$i", strval($p)); - $pipe->expire("logs.worker.$host.$i", 10); - $pipe->eval("redis.call('hset', 'logs.worker.$host', '$i', redis.call('scard', 'logs.worker.$host.$i'))", 0); - $pipe->sadd("logs.worker", $host); - if( date("H") !== 0 ) + for( $i = $begin; $i <= $end; $i++) { - $pipe->expire("logs.worker.$host", $expireAt); - $pipe->expire("logs.worker", $expireAt); + $pipe->sadd("logs.worker.$host.$i", strval($p)); + $pipe->expire("logs.worker.$host.$i", 10); + $pipe->eval("redis.call('hset', 'logs.worker.$host', '$i', redis.call('scard', 'logs.worker.$host.$i'))", 0); + $pipe->sadd("logs.worker", $host); + if( date("H") !== 0 ) + { + $pipe->expire("logs.worker.$host", $expireAt); + $pipe->expire("logs.worker", $expireAt); + } } - } - }); + }); + }catch( \Exception $e) + { + return; + } }); } -- GitLab