浏览代码

Use new settings to fine tune the connection pool

In some circumstances, it is necessary to increase size of pool.
Guilhem Bonnefille 9 年前
父节点
当前提交
f18a3a77ef
共有 1 个文件被更改,包括 8 次插入4 次删除
  1. 8
    4
      searx/poolrequests.py

+ 8
- 4
searx/poolrequests.py 查看文件

@@ -41,14 +41,18 @@ class HTTPAdapterWithConnParams(requests.adapters.HTTPAdapter):
41 41
                               block=self._pool_block, **self._conn_params)
42 42
 
43 43
 
44
+connect=settings['outgoing'].get('pool_connections', 100) # Magic number kept from previous code
45
+maxsize=settings['outgoing'].get('pool_maxsize', requests.adapters.DEFAULT_POOLSIZE) # Picked from constructor
44 46
 if settings['outgoing'].get('source_ips'):
45
-    http_adapters = cycle(HTTPAdapterWithConnParams(pool_connections=100, source_address=(source_ip, 0))
47
+    http_adapters = cycle(HTTPAdapterWithConnParams(pool_connections=connect, pool_maxsize=maxsize,
48
+                                                    source_address=(source_ip, 0))
46 49
                           for source_ip in settings['outgoing']['source_ips'])
47
-    https_adapters = cycle(HTTPAdapterWithConnParams(pool_connections=100, source_address=(source_ip, 0))
50
+    https_adapters = cycle(HTTPAdapterWithConnParams(pool_connections=connect, pool_maxsize=maxsize,
51
+                                                    source_address=(source_ip, 0))
48 52
                            for source_ip in settings['outgoing']['source_ips'])
49 53
 else:
50
-    http_adapters = cycle((HTTPAdapterWithConnParams(pool_connections=100), ))
51
-    https_adapters = cycle((HTTPAdapterWithConnParams(pool_connections=100), ))
54
+    http_adapters = cycle((HTTPAdapterWithConnParams(pool_connections=connect, pool_maxsize=maxsize), ))
55
+    https_adapters = cycle((HTTPAdapterWithConnParams(pool_connections=connect, pool_maxsize=maxsize), ))
52 56
 
53 57
 
54 58
 class SessionSinglePool(requests.Session):