Pathos.multiprocessing + утечка памяти + amap - PullRequest
0 голосов
/ 08 января 2020

Я строю веб-скребок, и у меня есть метод, который я запускаю одновременно:

def parallel_scrape(): 
    p= Pool()
    results = p.amap(self.fetch, domain_list]
    while not results.ready():
           time.sleep(5)

Он работает, как и ожидалось, кроме того факта, что он занимает слишком много памяти. На самом деле кажется, что он будет использовать всю доступную память. Я пытался вызвать сборщик мусора вручную, но это никак не сказалось. Затем я изменил код следующим образом:

def parallel_scrape(): 
        p= Pool()
        results = p.amap(self.fetch, domain_list]
        while not results.ready():
               time.sleep(5)
               p.terminate()
               p.restart()

Это полностью останавливает программу после возврата первых 6 доменов. Кто-нибудь может помочь?

...