asyncplugin.py 572 Bytes
Newer Older
J. Fernando Sánchez's avatar
J. Fernando Sánchez committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
from senpy.plugins import AnalysisPlugin

import multiprocessing


def _train(process_number):
    return process_number


class AsyncPlugin(AnalysisPlugin):
    def _do_async(self, num_processes):
        pool = multiprocessing.Pool(processes=num_processes)
        values = pool.map(_train, range(num_processes))

        return values

    def activate(self):
        self.value = self._do_async(4)

    def analyse_entry(self, entry, params):
        values = self._do_async(2)
        entry.async_values = values
        yield entry

    def test(self):
        pass