跳转到主要内容

Python-ldap的一个简单连接池。

项目描述

Python-ldap的一个简单连接池。

该池保持LDAP连接器的活跃状态,并允许您重用它们,从而大大减少建立ldap连接所需的时间。

该池具有以下有用功能:

  • 失败或服务器重启时的透明重连

  • 可配置的池大小和连接器超时

  • 可配置的连接器最大生存期

  • 一个上下文管理器,用于简化获取和释放连接器

要使用此库,您需要python-ldap

快速入门

要使用池,您只需创建它,然后使用connection方法作为上下文管理器使用

from ldappool import ConnectionManager

cm = ConnectionManager('ldap://localhost')

with cm.connection('uid=adminuser,ou=logins,dc=mozilla', 'password') as conn:
    .. do something with conn ..

connection方法返回的连接器是LDAPObject,绑定到了服务器。有关如何使用连接器的详细信息,请参阅https://pypi.ac.cn/project/python-ldap/

可以通过将池表示为字符串来检查池的状态

from ldappool import ConnectionManager

cm = ConnectionManager('ldap://localhost', size=2)

.. do something with cm ..

print(cm)

这将产生类似以下表格的输出

+--------------+-----------+----------+------------------+--------------------+------------------------------+
| Slot (2 max) | Connected |  Active  |       URI        | Lifetime (600 max) |           Bind DN            |
+--------------+-----------+----------+------------------+--------------------+------------------------------+
|      1       | connected | inactive | ldap://localhost |  0.00496101379395  | uid=tuser,dc=example,dc=test |
|      2       | connected | inactive | ldap://localhost |  0.00532603263855  | uid=tuser,dc=example,dc=test |
+--------------+-----------+----------+------------------+--------------------+------------------------------+

ConnectionManager选项

以下是您在实例化池时可以使用的选项

  • uri:ldap服务器uri [必需]

  • bind:默认绑定,将用于绑定连接器。 默认:None

  • passwd:默认密码,将用于绑定连接器。 默认:None

  • size:池大小。 默认:10

  • retry_max:服务器关闭时的尝试次数。 默认:3

  • retry_delay:重试前的延迟(秒)。 默认:.1

  • use_tls:连接时激活TLS。 默认:False

  • 超时:连接超时。默认:-1

  • use_pool:激活连接池。如果为False,则每次都会重新创建连接器。默认:True

uri”选项将接受逗号或空格分隔的LDAP服务器URI列表,以允许在遇到连接错误时实现故障转移行为。连接将按顺序尝试服务器,每个URI在故障转移至下一个服务器之前将尝试进行retry_max次。

connection方法有两个选项

  • bind:用于连接的绑定。如果为None,则使用连接池默认值。默认:None

  • passwd:用于连接的密码。如果为None,则使用连接池默认值。默认:None

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

ldappool-3.0.0.tar.gz (22.4 kB 查看哈希值)

上传时间:

构建分布

ldappool-3.0.0-py3-none-any.whl (12.7 kB 查看哈希值)

上传时间: Python 3

支持者