многопроцессорная обработка python apply_async использует только один процесс

У меня есть скрипт, который включает в себя открытие файла из списка, а затем что-то делать с текстом в этом файле. Я'Я использую многопроцессорную обработку Python и пул, чтобы попытаться распараллелить эту операцию. Ниже приведена абстракция сценария:

import os
from multiprocessing import Pool

results = []
def testFunc(files):
    for file in files:
        print "Working in Process #%d" % (os.getpid())
        #This is just an illustration of some logic. This is not what I'm actually doing.
        for line in file:
            if 'dog' in line:
                results.append(line)

if __name__=="__main__":
    p = Pool(processes=2)
    files = ['/path/to/file1.txt', '/path/to/file2.txt']
    results = p.apply_async(testFunc, args = (files,))
    results2 = results.get()

Когда я запускаю это, распечатка идентификатора процесса одинакова для каждой итерации. В основном то, что яЯ пытаюсь сделать, это взять каждый элемент списка ввода и разложить его на отдельный процесс, но кажется, что один процесс выполняет всю работу.

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

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