multiprocessing, what am I doing wrong?

MRAB python at mrabarnett.plus.com
Thu Feb 23 21:42:05 CET 2012


On 23/02/2012 17:59, Eric Frederich wrote:
> Below is some pretty simple code and the resulting output.
> Sometimes the code runs through but sometimes it just freezes for no
> apparent reason.
> The output pasted is where it just got frozen on me.
> It called start() on the 2nd worker but the 2nd worker never seemed to
> enter the run method.
>
[snip]

The 2nd worker did enter the run method; there are 2 lines of "2".

Maybe there's an uncaught exception in the run method for some reason.
Try doing something like this:

try:
     args = self.inbox.get_nowait()
except Queue.Empty:
     break
except:
     import traceback
     print "*** Exception in worker"
     print >> sys.stderr, traceback.print_exc()
     sys.stderr.flush()
     print "***"
     raise



More information about the Python-list mailing list