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