From eb1900265fb3f077cf104c0944d8832a8d48012e Mon Sep 17 00:00:00 2001 From: Jay Severson Date: Wed, 9 Nov 2011 11:37:28 -0800 Subject: [PATCH] Hide exceptions if elasticsearch is not running. This needs some fixing and cleaning up by someone smarter than myself. --- Client.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Client.php b/Client.php index c868399..2d7ea17 100644 --- a/Client.php +++ b/Client.php @@ -20,7 +20,14 @@ class Client extends Elastica_Client public function request($path, $method, $data = array()) { $start = microtime(true); - $response = parent::request($path, $method, $data); + //this is ghetto, but i couldnt figure out another way of making our site continue to behave normally even if ES was not running. + //Any improvements on this welcome. Perhaps another parameter that allows you to control if you want to ignore exceptions about ES not running + try { + $response = parent::request($path, $method, $data); + } catch(\Exception $e) { + //again, ghetto, but couldnt figure out how to return a default empty Elastica_Response + return new \Elastica_Response('{"took":0,"timed_out":false,"hits":{"total":0,"max_score":0,"hits":[]}}'); + } if (null !== $this->logger) { $time = microtime(true) - $start;