Я хотел запустить некоторую функцию, которая принимает параметр и выполняет некоторое действие параллельно. Я использовал multiprocessing.Pool
для этого. Но проблема в том, что я хочу завершить / уничтожить родительский процесс, когда любой из дочерних процессов возвращает значение ошибки.
Ниже приведен код, который я использую:
import multiprocessing as mp
import time
def fun1(arg):
print 'Inside fun1. Param - ',arg
time.sleep(2)
if arg == '13':
return 1
pool = mp.Pool(processes=4)
pool.map_async(fun1,range(20))
pool.close()
pool.join()
Я хочу завершить родительскую программу, когда fun1
возвращает 1, и до этого момента дочерние процессы должны выполняться параллельно.