Ошибка многопроцессорной обработки Python [Errno 32] Сломанный канал - PullRequest
0 голосов
/ 27 мая 2018

На моем сервере запущен скребок для Python.Он должен очищать много URL, поэтому я хотел сделать это быстрее и решил использовать многопроцессорность.Проблема в том, что процесс очистки занимает очень много времени, и поэтому мое соединение с браузером истекает.Таким образом я получаю ошибку [Errno 32] Broken pipe.

Можно ли что-нибудь сделать, чтобы скрипт продолжал работать?Могу ли я устранить ошибку и позволить сценарию продолжить?Если я поймаю его, сценарий все же остановится, верно?

Какие у меня варианты здесь?Или я должен прекратить использовать многопроцессорную обработку для сценариев, которые занимают много времени и выполняются на сервере?

with Pool(5) as p:
    p.starmap(download_slick_slide_html, zip(sndLinkList, repeat(mode), repeat(pathToFF),repeat(pathToBinaries), repeat(dateTime), repeat(scrapedSupplier), repeat(logfile)))
    p.close()
    p.join()


def download_slick_slide_html(f_snd_link_list, f_mode, f_path_to_ff, f_path_to_binaries, f_date_time,f_scraped_supplier, f_log_file):
    # do some downloading here...
...