2016-12-13 2 views
0

Я использую PySNMP 4.2.5 вместе с cmdgen.AsynCommandGenerator(). CmdGen.snmpEngine.transportDispatcher.runDispatcher() работает в дополнительном потоке, чтобы снова вызвать runDispatcher, когда он завершается. Иногда runDispatcher выдает исключение из Missing sendPduHandle, которое захватывается, но одно и то же исключение в отношении одного и того же PduHandle (такого же числа) встречается очень часто, тогда (~ 2 раза в секунду).Решение исключения «Отсутствует sendPduHandle»

Как избавиться от этой ошибки?

ответ

0

Я считаю, что безопасно запускать экземпляр двигателя SNMP в пределах одного потока. Если вы хотите, чтобы он работал в нескольких потоках, у вас должен быть экземпляр двигателя SNMP с локальным потоком.

Это an example для pysnmp 4.3.x.

+0

Спасибо за ваш ответ, у меня недостаточно репутации, чтобы проголосовать за него. Трудно услышать, что pysnmp не является потокобезопасным, потому что все запросы snmp выполняются как работа apsheduler на моей стороне. –

Смежные вопросы