Я пытаюсь реализовать обработчик событий сортировки. Я пытаюсь собрать примеры сетевых снимков, используя внешний процесс, используя Popen, и он записывает файл XML. Я анализирую XML-файл, чтобы собрать всю необходимую мне информацию. Но я не хочу завершать процесс, пока количество пакетов не достигнет определенного предела.
def getPacketCount(xmlfile, count, pid):
while 1:
try:
parser = minidom.parse(xmlfile)
wlan = parser.getElementsByTagName('wireless-network')[0]
pkt = wlan.getElementsByTagName('packets')[1]
packetCount = pkt.getElementsByTagName('total').childNodes[0].data
if packetCount>count:
#Call event handler to kill process with given pid.
except AttributeError, TypeError:
print "AttributeError: Accessing file again"`
В этом подходе много производительности (поскольку он постоянно проверяет файл)?
Как заставить эту функцию работать в фоновом режиме (как демон?)
Имеет ли смысл использовать многопроцессорный модуль?
Эффективно ли обернуть Popen в функцию и вызвать Multiprocessing?
Note: I am implementing this with Django to handle database operations.