Commit e582ef07 authored by J. Fernando Sánchez's avatar J. Fernando Sánchez
Browse files

Fix multiprocessing tests in python2.7

Closes #28 for python 2.

Apparently, process pools are not contexts in python 2.7.
On the other hand, in py2 you cannot pickle instance methods, so
you have to implement Pool tasks as independent functions.
parent ef40bdb5
......@@ -3,13 +3,15 @@ from senpy.plugins import AnalysisPlugin
import multiprocessing
class AsyncPlugin(AnalysisPlugin):
def _train(self, process_number):
return process_number
def _train(process_number):
return process_number
class AsyncPlugin(AnalysisPlugin):
def _do_async(self, num_processes):
with multiprocessing.Pool(processes=num_processes) as pool:
values = pool.map(self._train, range(num_processes))
pool = multiprocessing.Pool(processes=num_processes)
values = pool.map(_train, range(num_processes))
return values
def activate(self):
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment