Python 获取';服务器正忙';
我已经找到了python从ldap获取数据的方法,有一部分我有问题Python 获取';服务器正忙';,python,ldap,Python,Ldap,我已经找到了python从ldap获取数据的方法,有一部分我有问题 try: ldap_result_id = ldapcon.search(base, scope, search_filter, attributes) result_set = [] while 1: result_type, result_data = ldapcon.result(ldap_result_id, 0) i
try:
ldap_result_id = ldapcon.search(base, scope, search_filter, attributes)
result_set = []
while 1:
result_type, result_data = ldapcon.result(ldap_result_id, 0)
if (result_data == []):
break
else:
if result_type == ldap.RES_SEARCH_ENTRY:
result_set.append(result_data)
except ldap.LDAPError, e:
print e
但我在“ldapcon.result()上遇到了ldap错误”
它从3开始发生2次,所以下一次尝试它可以成功!
你知道怎么处理吗?
将相同的try/except仅用于该函数并添加一些尝试计数器?
谢谢我不能说它是否优雅和正确,但它确实有效
while 1:
try:
ldap_result_id = ldapcon.search(base, scope, search_filter, attributes)
result_set = []
result_type, result_data = ldapcon.result(ldap_result_id, 0, 2)
except ldap.LDAPError, e:
pass
if 'result_data' in locals():
if result_type == ldap.RES_SEARCH_ENTRY:
result_set.append(result_data)
return result_set[0][0][1]['departmentNumber'][0]
我现在正在了解这一点。我希望这有帮助。我发现以下内容似乎正是我所需要的:
ldap.ldapobject.ReconnectLDAPObject(dc,重试\u max=5,重试\u delay=2.0)
有关更多信息,请查看
while 1:
try:
ldap_result_id = ldapcon.search(base, scope, search_filter, attributes)
result_set = []
result_type, result_data = ldapcon.result(ldap_result_id, 0, 2)
except ldap.LDAPError, e:
pass
if 'result_data' in locals():
if result_type == ldap.RES_SEARCH_ENTRY:
result_set.append(result_data)
return result_set[0][0][1]['departmentNumber'][0]