Python Pool с рабочими процессами

Я пытаюсь использовать рабочий пул в Python, используя объекты процесса. Каждый работник (процесс) выполняет некоторую инициализацию (занимает нетривиальное количество времени), проходит серию заданий (в идеале с использованиемmap()) и что-то возвращает. Никакого общения не требуется. Тем не менее, я не могу понять, как использовать map (), чтобы использовать моего работникаcompute() функция.

from multiprocessing import Pool, Process

class Worker(Process):
    def __init__(self):
        print 'Worker started'
        # do some initialization here
        super(Worker, self).__init__()

    def compute(self, data):
        print 'Computing things!'
        return data * data

if __name__ == '__main__':
    # This works fine
    worker = Worker()
    print worker.compute(3)

    # workers get initialized fine
    pool = Pool(processes = 4,
                initializer = Worker)
    data = range(10)
    # How to use my worker pool?
    result = pool.map(compute, data)

Стоит ли вместо этого очередь на работу, или я могу использоватьmap()?

Ответы на вопрос(2)

Ваш ответ на вопрос