У меня проблемы с организацией моего сценария для использования многопроцессорной обработки. Кажется, что процессы порождаются, но он выполняет весь сценарий снова и снова. В этом примере он будет print("PREPARATION")
постоянно. Я предполагаю, что моя проблема связана с организацией сценария.
import subprocess as sp
import multiprocessing
def func1():
blah
blah
blah
def func2():
blah
blah
blah
def derev_work(cmd):
proc = sp.run(cmd)
print(proc.stdout)
def main():
print("PREPARATION")
cmd_list = [[path_to_exe, arg1, arg2, arg3] for sheet in sortedsheets]
if __name__=="__main__":
print (multiprocessing.cpu_count())
pool = multiprocessing.Pool(multiprocessing.cpu_count())
results = []
r = pool.map_async(derev_work, cmd_list , callback=results.append)
r.wait()
print(results)
print("COMPLETION")
main()