From 420216e583706fbd7bf214818fcce0143a05e982 Mon Sep 17 00:00:00 2001 From: Hanoh Haim Date: Thu, 12 Jan 2017 13:47:39 +0200 Subject: add elk Signed-off-by: Hanoh Haim --- .../elasticsearch/connection/pooling.py | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 scripts/external_libs/elasticsearch/elasticsearch/connection/pooling.py (limited to 'scripts/external_libs/elasticsearch/elasticsearch/connection/pooling.py') diff --git a/scripts/external_libs/elasticsearch/elasticsearch/connection/pooling.py b/scripts/external_libs/elasticsearch/elasticsearch/connection/pooling.py new file mode 100644 index 00000000..3115e7c2 --- /dev/null +++ b/scripts/external_libs/elasticsearch/elasticsearch/connection/pooling.py @@ -0,0 +1,33 @@ +try: + import queue +except ImportError: + import Queue as queue +from .base import Connection + + +class PoolingConnection(Connection): + """ + Base connection class for connections that use libraries without thread + safety and no capacity for connection pooling. To use this just implement a + ``_make_connection`` method that constructs a new connection and returns + it. + """ + def __init__(self, *args, **kwargs): + self._free_connections = queue.Queue() + super(PoolingConnection, self).__init__(*args, **kwargs) + + def _get_connection(self): + try: + return self._free_connections.get_nowait() + except queue.Empty: + return self._make_connection() + + def _release_connection(self, con): + self._free_connections.put(con) + + def close(self): + """ + Explicitly close connection + """ + pass + -- cgit 1.2.3-korg