RadonMetrics/CodeMetricsCalculator.py

branch
eric7
changeset 87
6ae91562f0a7
parent 75
e7ed383ac6a7
child 90
1405e41edc0b
--- a/RadonMetrics/CodeMetricsCalculator.py	Sun Jul 11 14:40:09 2021 +0200
+++ b/RadonMetrics/CodeMetricsCalculator.py	Mon Sep 27 15:43:50 2021 +0200
@@ -79,9 +79,13 @@
         taskQueue.put(task)
 
     # Start worker processes
-    for _ in range(NumberOfProcesses):
+    workers = [
         multiprocessing.Process(
-            target=worker, args=(taskQueue, doneQueue)).start()
+            target=workerTask, args=(taskQueue, doneQueue)
+        ) for _ in range(NumberOfProcesses)
+    ]
+    for worker in workers:
+        worker.start()
 
     # Get and send results
     endIndex = len(argumentsList) - initialTasks
@@ -111,9 +115,13 @@
     # Tell child processes to stop
     for _ in range(NumberOfProcesses):
         taskQueue.put('STOP')
+    
+    for worker in workers:
+        worker.join()
+        worker.close()
 
 
-def worker(inputQueue, outputQueue):
+def workerTask(inputQueue, outputQueue):
     """
     Module function acting as the parallel worker for the raw code metrics
     calculation.

eric ide

mercurial