Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import multiprocessing
- import xml.etree.ElementTree as ET
- import time
- import sys
- import re
- def work_processor(item):
- host_item = item[0]
- output_queue = item[1]
- # !!! big work here with host_item with return result
- output_queue.put(result)
- return result
- def start_point_pool(xml_report_file):
- try:
- dom = ET.parse(open(xml_report_file, "r"))
- root = dom.getroot()
- except Exception as e:
- print("Exception - {}".format(str(e)))
- return None
- pool = multiprocessing.Pool(multiprocessing.cpu_count())
- mng = multiprocessing.Manager()
- result_data = mng.Queue()
- host_report_items = [ (host_report,result_data) for root_items in root if root_items.tag == 'Report' for host_report in root_items]
- print("Data loaded...")
- start_time = time.time()
- results = pool.map(work_processor, host_report_items)
- print("Processes launched... ", "Processes gathering data... ", sep = "\n")
- # results_final = [result_data.get() for _p in results]
- print(len(results))
- print("Time consumed:{}".format(time.time() - start_time))
- if __name__=='__main__':
- file_name = "data002.xml"
- start_point_pool(file_name)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement