Как я могу запустить одну и ту же функцию несколько раз с разными входами и сделать это одновременно? - PullRequest
0 голосов
/ 09 июля 2019

У меня много данных для обработки (около 30-60 миллионов наборов данных), и мне нужно обрабатывать их в равных кварталах каждый квартал с разными настройками.Поэтому я сделал себе функцию, которая вызывает несколько других функций, которые я ранее написал.Затем я вызываю указанную функцию 4 раза с разными входами и получаю кучу графиков, чтобы она записывала кучу чисел в файлы.Все отлично работает, но пробежка занимает несколько минут, и я нетерпеливый парень.Тем более, что я получаю новые наборы данных каждый день, иногда несколько раз в день.Я ни в коем случае не программист и не разбираюсь в каком-либо языке программирования, но я не вижу причин, почему я не могу просто запускать каждый вызов функции одновременно, чтобы сэкономить время.Мне все равно, как они работают одновременно, лишь бы это значительно ускоряло процесс для меня, ха-ха.

Я пытался развлечь несколько потоков, но это просто дало мне странные графики, почти как потоки общались между собойи перепутать результаты.затем я попытался запустить несколько процессов, как в коде, но казалось, что они все равно запускались последовательно.

from multiprocessing import Process

def func1(x):
  return (x)



if __name__ == '__main__':
  p1 = Process(target=func1,(1,))
  p1.start()
  p2 = Process(target=func1,(2,))
  p2.start()
  p1.join()
  p2.join()

Спасибо за любую помощь, которую вы можете предложить

...