the big merge
[nepi.git] / src / nepi / util / parallel.py
index 04c9d17..4b1acc8 100644 (file)
 #
 
 import threading
-import Queue
 import traceback
 import sys
 import os
 
+from six.moves import queue
+
 N_PROCS = None
 
 class WorkerThread(threading.Thread):
@@ -64,12 +65,12 @@ class ParallelRun(object):
         self.maxqueue = maxqueue
         self.maxthreads = maxthreads
         
-        self.queue = Queue.Queue(self.maxqueue or 0)
+        self.queue = queue.Queue(self.maxqueue or 0)
         
         self.delayed_exceptions = []
         
         if results:
-            self.rvqueue = Queue.Queue()
+            self.rvqueue = queue.Queue()
         else:
             self.rvqueue = None
     
@@ -111,7 +112,7 @@ class ParallelRun(object):
             try:
                 self.queue.get(block = False)
                 self.queue.task_done()
-            except Queue.Empty:
+            except queue.Empty:
                 break
   
     def destroy(self):
@@ -151,10 +152,10 @@ class ParallelRun(object):
             while True:
                 try:
                     yield self.rvqueue.get_nowait()
-                except Queue.Empty:
+                except queue.Empty:
                     self.queue.join()
                     try:
                         yield self.rvqueue.get_nowait()
-                    except Queue.Empty:
+                    except queue.Empty:
                         raise StopIteration