def processIncoming(self):
       """
       This is where the blocking I/O job is being done.
       """
       while self.running:
           while self.qIn.qsize():
#               print "There are stuff in qIn"
               try:
                   job=self.qIn.get(0)
                   self.gui.currentJobId=job.id
#                   print "Let s process job",job.label
                   time.sleep(random.random()*6)
                   job.result='we would store the resutl here'
                   self.gui.currentJobId=None
                   self.qOut.put(job)
               except Queue.Empty:
                   pass
           time.sleep(2)

       This is where the blocking I/O job is being done.
       
recipes/Python/409244_combining_GUasynchronous_IO_threads/recipe-409244.py