multiprocessamento python apply_async usa apenas um processo

Eu tenho um script que inclui a abertura de um arquivo de uma lista e, em seguida, fazendo algo para o texto dentro desse arquivo. Eu estou usando multiprocessamento python e Pool para tentar paralelizar esta operação. Uma abstração do script está abaixo:

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()

Quando executo isso, a impressão do id do processo é a mesma para cada iteração. Basicamente, o que estou tentando fazer é pegar cada elemento da lista de entrada e separá-lo em um processo separado, mas parece que um processo está fazendo todo o trabalho.

questionAnswers(2)

yourAnswerToTheQuestion