title: Python multiprocess get result from queue
body: <p>I'm running a multiprocessing script that is supposed to launch 2.000.000 jobs of about 0.01 seconds. Each job put the result in a queue imported from Queue because the queue from Multiprocessing module couldn't handle more than 517 results in it.</p>
  
  <p>My programm freeze before getting the results from the queue. Here is the core of my multiprocess function:</p>
  
  <pre><code>while argslist != []:
      p = mp.Process(target=function, args=(result_queue, argslist.pop(),))
      jobs.append(p)
      p.start()
  for p in jobs:
      p.join()
  print 'over'
  
  res = [result_queue.get() for p in jobs]
  print 'got it'
  </code></pre>
  
  <p>output: "over" but never "got it"</p>
  
  <p>when I replace</p>
  
  <pre><code>result_queue.get() 
  </code></pre>
  
  <p>by</p>
  
  <pre><code>result_queue.get_nowait()
  </code></pre>
  
  <p>I got the raise Empty error saying my queue is Empty...</p>
  
  <p>but if I do the queue.get() just after the queue.put() in my inner function, then it works, showing me that the queue is well filed by my function..</p>