Мне удалось реализовать приведенный ниже код, используя joblib
, за исключением части break
.Я искал документацию для joblib
, но там нет никакой информации.
Исходный цикл:
# reg has 25,000 values
for each in reg:
# date_list has 700 values
for j in date_list:
control = len(os.listdir(os.path.abspath('tmp')))
# download_pdf is my_func; url, each, j are params
download_pdf(url, each, j)
if control < len(os.listdir(os.path.abspath('tmp'))):
break
Дело в том, что если я найду правильное значение в date_list, я могу пропустить проверку всего остального списка (700 значений) и перейти кследующее значение в reg
Рабочий joblib
без break
:
from joblib import Parallel, delayed
Parallel(n_jobs=8)(delayed(download_pdf)(url, each, date_list) for each in reg for j in date_list)
Итак, любые идеи о том, как реализовать разрыв, как в оригинальномпараллельный цикл?