I am using Python's ProcessPoolExecutor
to run multiple processes in parallel and process them as any of them finishes. Then I look at their output and as soon as at least one of them gives satisfying answer I want to exit the program.
However, this is not possible since upon calling pool.shutdown(wait=False)
I will have to wait for all active tasks in the pool
to finish before I can exit my script.
Is there a way to kill all the remaining active children and exit? Also, is there a better way to stop as soon as at least one child returns the answer we are waiting for?