]> arthur.barton.de Git - netdata.git/commitdiff
fix some timeout issues
authorpaulfantom <paulfantom@gmail.com>
Wed, 22 Jun 2016 18:40:20 +0000 (20:40 +0200)
committerpaulfantom <paulfantom@gmail.com>
Wed, 22 Jun 2016 18:40:20 +0000 (20:40 +0200)
plugins.d/python.d.plugin
python.d/apache.chart.py
python.d/nginx.chart.py
python.d/phpfpm.chart.py
python.d/python_modules/base.py

index f1aba16cb35146642f14aa25ba63776b259f0d23..e9f1d5de839e01c4a4c59bd5a8efec614949bc9f 100755 (executable)
@@ -477,7 +477,10 @@ class PythonCharts(object):
                     i += 1
             if len(next_runs) == 0:
                 fatal('no python.d modules loaded.')
-            time.sleep(min(next_runs) - time.time())
+            try:
+                time.sleep(min(next_runs) - time.time())
+            except IOError:
+                pass
 
 
 def read_config(path):
index 2de62b7e78c246f3db8e80ad1029cad6bafbaab6..71a68ba827e867042a18baf9efe5a39730bedca0 100644 (file)
@@ -102,7 +102,10 @@ class Service(UrlService):
         Format data received from http request
         :return: dict
         """
-        raw = self._get_data().split("\n")
+        try:
+            raw = self._get_data().split("\n")
+        except AttributeError:
+            return None
         data = {}
         for row in raw:
             tmp = row.split(":")
index 17c151f70cbcb78bd4d38ad268121b65bfdb0745..89752f565d6b508bb004fe0437fd36b055c6c30b 100644 (file)
@@ -67,8 +67,8 @@ class Service(UrlService):
         Format data received from http request
         :return: dict
         """
-        raw = self._get_data().split(" ")
         try:
+            raw = self._get_data().split(" ")
             return {'active': int(raw[2]),
                     'requests': int(raw[7]),
                     'reading': int(raw[11]),
@@ -76,5 +76,5 @@ class Service(UrlService):
                     'waiting': int(raw[15]),
                     'accepts': int(raw[8]),
                     'handled': int(raw[9])}
-        except ValueError:
+        except (ValueError, AttributeError):
             return None
index f75faaca998b0010ea8011627f62745899e1bfab..8fadf2beefa2ce8b5ed8b8abce19bef4b587f3de 100755 (executable)
@@ -68,7 +68,10 @@ class Service(UrlService):
         Format data received from http request
         :return: dict
         """
-        raw = self._get_data().split('\n')
+        try:
+            raw = self._get_data().split('\n')
+        except AttributeError:
+            return None
         data = {}
         for row in raw:
             tmp = row.split(":")
index cfb27abf1dfbebcb669e71ad0637d6699fcaf79d..710ead1bd95036e7450beb2f587b6bff99c6897d 100644 (file)
@@ -123,13 +123,17 @@ class UrlService(BaseService):
         Get raw data from http request
         :return: str
         """
+        raw = None
         try:
             f = urlopen(self.url, timeout=self.update_every)
             raw = f.read().decode('utf-8')
-            f.close()
         except Exception as e:
             self.error(self.__module__, str(e))
-            return None
+        finally:
+            try:
+                f.close()
+            except:
+                pass
         return raw
 
     def _formatted_data(self):