Explicetely set http connection poolsize
authorStavros Sachtouris <saxtouri@admin.grnet.gr>
Mon, 11 Mar 2013 10:05:09 +0000 (12:05 +0200)
committerStavros Sachtouris <saxtouri@admin.grnet.gr>
Mon, 11 Mar 2013 10:17:57 +0000 (12:17 +0200)
kamaki/clients/commissioning_client.py
kamaki/clients/connection/__init__.py
kamaki/clients/connection/kamakicon.py
kamaki/clients/quotaholder/__init__.py
version

index 924bfab..0b0eae9 100644 (file)
@@ -40,9 +40,10 @@ from json import loads as json_loads, dumps as json_dumps
 
 class CommissioningClient(Callpoint):
 
-    def __init__(self, base_url, token):
+    def __init__(self, base_url, token, poolsize):
         super(CommissioningClient, self).__init__()
         self._kc = Client(base_url, token)
+        self._kc.http_client.poolsize = poolsize
 
     def do_make_call(self, api_call, data):
 
index b1935e5..f8a0ca0 100644 (file)
@@ -136,12 +136,24 @@ class HTTPConnection(object):
     """An abstract HTTP Connection mechanism. Subclass implementation required
     """
 
-    def __init__(self, method=None, url=None, params={}, headers={}):
+    def __init__(
+            self,
+            method=None, url=None, params={}, headers={}, poolsize=8):
         self.headers = headers
         self.params = params
         self.url = url
         self.path = ''
         self.method = method
+        self.poolsize = poolsize
+
+    @property
+    def poolsize(self):
+        return self._poolsize
+
+    @poolsize.setter
+    def poolsize(self, v):
+        assert isinstance(v, (int, long)) and v > 0
+        self._poolsize = v
 
     def set_header(self, name, value):
         self.headers['%s' % name] = '%s' % value
index ed0bb30..e79486b 100644 (file)
@@ -180,7 +180,10 @@ class KamakiHTTPConnection(HTTPConnection):
 
         #get connection from pool
         try:
-            conn = get_http_connection(netloc=netloc, scheme=scheme)
+            conn = get_http_connection(
+                netloc=netloc,
+                scheme=scheme,
+                pool_size=self.poolsize)
         except ValueError as ve:
             raise HTTPConnectionError(
                 'Cannot establish connection to %s %s' % (self.url, ve),
index c4a750a..d781353 100644 (file)
@@ -42,7 +42,7 @@ class QuotaholderClient(CommissioningClient):
     api_spec = QuotaholderAPI()
     appname = 'quotaholder'
 
-    def __init__(self, base_url=None, token=None):
+    def __init__(self, base_url=None, token=None, poolsize=1000):
         default_url = 'http://127.0.0.1:8008/quotaholder/v'
         base_url = base_url if base_url else default_url
-        super(self.__class__, self).__init__(base_url, token)
+        super(self.__class__, self).__init__(base_url, token, poolsize=1000)
diff --git a/version b/version
index eb49d7c..c006218 100644 (file)
--- a/version
+++ b/version
@@ -1 +1 @@
-0.7
+0.7.6