Thomas Jackson added the comment:
Some more investigation, it seems that the alternate `Queue` fix is a
non-starter. From my investigation it seems that the ProcessPoolExecutor is
assuming that multiprocess.Queue is gauranteed delivery, and it isn't (because
of the pickling). So the iss
Thomas Jackson added the comment:
Seems that I accidentally hit submit, so let me finish the last bit of my
message here:
An alternate approach is to actually change multiprocessing.Queue.get() to
leave the item on the queue if it is interrupted with a keyboard interrupt.
Then the worker
New submission from Thomas Jackson:
If a KeyboardInterrupt is received while a worker process is grabbing an item
off of the queue that worker process dies with an uncaught exception. This
means that the ProcessPool now has lost a process, and currently has no
mechanism to recover from dead