Как выйти из родительской программы, когда child возвращает код ошибки? - PullRequest
0 голосов
/ 04 апреля 2019

Я хотел запустить некоторую функцию, которая принимает параметр и выполняет некоторое действие параллельно. Я использовал 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, и до этого момента дочерние процессы должны выполняться параллельно.

...