这是我的pysnmp包信息:
$ pip show pysnmp
---
Name: pysnmp
Version: 4.2.5
Location: /usr/lib/python2.7/dist-packages
Requires: pyasn1, pycrypto
我有一个不太复杂的程序,遵循" Asynchronous GET Command Generator"示例但已扩展,以便对128个IP"目标"在runDispatcher()之前的批处理中:
transportTarget = cmdgen.UdpTransportTarget((ip, 161), timeout=0.2, retries=2)
cmdGen.getCmd(
authData, transportTarget, varNames,
# User-space callback function and its context
(cbFun, (authData, transportTarget)),
lookupNames=True, lookupValues=True
)
cmdGen.snmpEngine.transportDispatcher.runDispatcher()
在我的测试运行中,程序以我期望的方式开始:添加了128个目标,发出请求,然后1~2秒后,它会返回响应,错误和/或超时。但随着时间的推移,它似乎会挂起来#34;在发出一批请求后:它可能会在那里停留15到18分钟,虽然有时它仍会在2秒内回来。
我不希望程序以这种方式运行,因为我使用的是UDP。 PySNMP中有什么我不知道我需要清理吗?