def xslt_transform(self, procnum, source):
result = self.etree_xslt( source, **self.params)
self.return_dict[procnum] = result
def _transform(self, input, output):
# input, output: binary stream
from lxml import etree
source = etree.parse(input)
logger.info('_lxml.xslt(%s) start',
os.path.basename(self.xsl_path))
#result = self.etree_xslt(source, **self.params)
logger.info('_lxml.xslt(%s) end',
os.path.basename(self.xsl_path))
jobs = []
for i in range(4):
proc = multiprocessing.Process(target=self.xslt_transform, args=(i,source))
print("proc==%s" % proc)
jobs.append(proc)
proc.start()
for proc in jobs:
proc.join()
result = self.return_dict.values()
Error message: TypeError: can't pickle lxml.etree._XSLTResultTree objects