У меня есть скрипт, который перебирает массив чисел, эти числа передаются функции, вызывающей и API. Он возвращает данные JSON, которые затем записываются в CSV.Multiprocess Python 3
for label_number in label_array:
call_api(domain, api_call_1, api_call_2, label_number, api_key)
Список может быть до 7000 элементов большой, так как API занимает всего несколько секунд, чтобы ответить, это может занять несколько часов, чтобы запустить весь сценарий. Кажется, что многопроцессорный процесс идет с этим. Я не могу решить, как это сделать с помощью вышеуказанного цикла. Документация Я смотрю на это
https://docs.python.org/3.5/library/multiprocessing.html
я нашел подобную статью в
Python Multiprocessing a for loop
Но манипулирует не похоже на работу, я думаю, что я buggering его, когда его приходит к передаче всех переменных в функцию.
Любая помощь будет оценена по достоинству.
Я использую 17.2.1.1. Класс Process и, похоже, правильно проходит цикл, но я получаю операцию ValueError: I/O в закрытом файле. Таким образом, кажется, что автор закрывает файл. – LOFast
Хорошо, похоже, он работает, а не записывается в CSV, но все же кажется довольно медленным. Возможно, это неправильно использовать. – LOFast
Откройте 'multiprocessing.Pool', затем' .map'. Не может быть проще, чем это – JBernardo