From ed296314b1f621610dc872920e6ccc32738d326e Mon Sep 17 00:00:00 2001 From: Ivan Kovalkovskyi Date: Mon, 6 Nov 2017 17:28:26 +0200 Subject: [PATCH 1/5] Add pool size parameter to client constructor --- influxdb/client.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/influxdb/client.py b/influxdb/client.py index 4721fa3f..cfdd7dd5 100644 --- a/influxdb/client.py +++ b/influxdb/client.py @@ -33,11 +33,9 @@ class InfluxDBClient(object): """InfluxDBClient primary client object to connect InfluxDB. - The :class:`~.InfluxDBClient` object holds information necessary to connect to InfluxDB. Requests can be made to InfluxDB directly through the client. - :param host: hostname to connect to InfluxDB, defaults to 'localhost' :type host: str :param port: port to connect to InfluxDB, defaults to 8086 @@ -46,6 +44,8 @@ class InfluxDBClient(object): :type username: str :param password: password of the user, defaults to 'root' :type password: str + :param pool_size: urllib3 connection pool size, defaults to 10. + :type pool_size: int :param database: database name to connect to, defaults to None :type database: str :param ssl: use https instead of http to connect to InfluxDB, defaults to @@ -73,6 +73,7 @@ def __init__(self, port=8086, username='root', password='root', + pool_size=10, database=None, ssl=False, verify_ssl=False, @@ -96,14 +97,17 @@ def __init__(self, self.__use_udp = use_udp self.__udp_port = udp_port self._session = requests.Session() + adapter = requests.adapters.HTTPAdapter(pool_connections=pool_size, pool_maxsize=pool_size) + if use_udp: self.udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) self._scheme = "http" - if ssl is True: self._scheme = "https" + self._session.mount(self._scheme, adapter) + if proxies is None: self._proxies = {} else: From e9eb13abb9e9f7d55690d26fb304623e9d295ccc Mon Sep 17 00:00:00 2001 From: Ivan Kovalkovskyi Date: Mon, 6 Nov 2017 17:40:14 +0200 Subject: [PATCH 2/5] come back removed newlines --- influxdb/client.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/influxdb/client.py b/influxdb/client.py index cfdd7dd5..0444990b 100644 --- a/influxdb/client.py +++ b/influxdb/client.py @@ -33,9 +33,11 @@ class InfluxDBClient(object): """InfluxDBClient primary client object to connect InfluxDB. + The :class:`~.InfluxDBClient` object holds information necessary to connect to InfluxDB. Requests can be made to InfluxDB directly through the client. + :param host: hostname to connect to InfluxDB, defaults to 'localhost' :type host: str :param port: port to connect to InfluxDB, defaults to 8086 @@ -103,6 +105,7 @@ def __init__(self, self.udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) self._scheme = "http" + if ssl is True: self._scheme = "https" From 60fff6be80a1e97ea58ed00c69131328eea84cf5 Mon Sep 17 00:00:00 2001 From: Ivan Kovalkovskyi Date: Mon, 6 Nov 2017 17:53:18 +0200 Subject: [PATCH 3/5] fix flake8: line too long --- influxdb/client.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/influxdb/client.py b/influxdb/client.py index 0444990b..4dadd470 100644 --- a/influxdb/client.py +++ b/influxdb/client.py @@ -99,7 +99,8 @@ def __init__(self, self.__use_udp = use_udp self.__udp_port = udp_port self._session = requests.Session() - adapter = requests.adapters.HTTPAdapter(pool_connections=pool_size, pool_maxsize=pool_size) + adapter = requests.adapters.HTTPAdapter(pool_connections=pool_size, + pool_maxsize=pool_size) if use_udp: self.udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) From 6a26eb52f2f325a77a3f7a03c211fd5a50f1595e Mon Sep 17 00:00:00 2001 From: Ivan Kovalkovskyi Date: Thu, 16 Nov 2017 15:48:50 +0200 Subject: [PATCH 4/5] Cast InfluxDBClient pool_size parameter to int --- influxdb/client.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/influxdb/client.py b/influxdb/client.py index f1e6811b..ee35bd45 100644 --- a/influxdb/client.py +++ b/influxdb/client.py @@ -90,8 +90,8 @@ def __init__(self, self.__use_udp = use_udp self.__udp_port = udp_port self._session = requests.Session() - adapter = requests.adapters.HTTPAdapter(pool_connections=pool_size, - pool_maxsize=pool_size) + adapter = requests.adapters.HTTPAdapter(pool_connections=int(pool_size), + pool_maxsize=int(pool_size)) if use_udp: self.udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) From a752bc094031a2c96a440db55598fde025778090 Mon Sep 17 00:00:00 2001 From: Ivan Kovalkovskyi Date: Thu, 16 Nov 2017 15:58:22 +0200 Subject: [PATCH 5/5] Move pool_size parameter to the end of args to prevent tests fail --- influxdb/client.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/influxdb/client.py b/influxdb/client.py index ee35bd45..02128462 100644 --- a/influxdb/client.py +++ b/influxdb/client.py @@ -66,7 +66,6 @@ def __init__(self, port=8086, username='root', password='root', - pool_size=10, database=None, ssl=False, verify_ssl=False, @@ -75,6 +74,7 @@ def __init__(self, use_udp=False, udp_port=4444, proxies=None, + pool_size=10, ): """Construct a new InfluxDBClient object.""" self.__host = host @@ -90,8 +90,10 @@ def __init__(self, self.__use_udp = use_udp self.__udp_port = udp_port self._session = requests.Session() - adapter = requests.adapters.HTTPAdapter(pool_connections=int(pool_size), - pool_maxsize=int(pool_size)) + adapter = requests.adapters.HTTPAdapter( + pool_connections=int(pool_size), + pool_maxsize=int(pool_size) + ) if use_udp: self.udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)