PySNMP高级异步会产生奇怪/缓慢的行为

时间:2015-06-26 18:43:28

标签: python pysnmp

这是我的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中有什么我不知道我需要清理吗?

0 个答案:

没有答案