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.
pull/32/head
J. Fernando Sánchez 7 years ago
parent ef40bdb545
commit e582ef07d4

@ -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):

Loading…
Cancel
Save