Я строю веб-скребок, и у меня есть метод, который я запускаю одновременно:
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 доменов. Кто-нибудь может помочь?