RadonMetrics/CodeMetricsCalculator.py

changeset 49
ab84f5a5edd8
parent 47
fa1024e1dfc9
child 53
4a179abb79e6
--- a/RadonMetrics/CodeMetricsCalculator.py	Sun Apr 09 17:15:02 2017 +0200
+++ b/RadonMetrics/CodeMetricsCalculator.py	Thu Jun 22 18:38:10 2017 +0200
@@ -54,7 +54,7 @@
     return __rawCodeMetrics(file, text)
 
 
-def batchRawCodeMetrics(argumentsList, send, fx, cancelled):
+def batchRawCodeMetrics(argumentsList, send, fx, cancelled, maxProcesses=0):
     """
     Module function to calculate the raw code metrics for a batch of files.
     
@@ -66,13 +66,19 @@
     @type str
     @param cancelled reference to function checking for a cancellation
     @type function
+    @param maxProcesses number of processes to be used
+    @type int
     """
-    try:
-        NumberOfProcesses = multiprocessing.cpu_count()
-        if NumberOfProcesses >= 1:
-            NumberOfProcesses -= 1
-    except NotImplementedError:
-        NumberOfProcesses = 1
+    if maxProcesses == 0:
+        # determine based on CPU count
+        try:
+            NumberOfProcesses = multiprocessing.cpu_count()
+            if NumberOfProcesses >= 1:
+                NumberOfProcesses -= 1
+        except NotImplementedError:
+            NumberOfProcesses = 1
+    else:
+        NumberOfProcesses = maxProcesses
 
     # Create queues
     taskQueue = multiprocessing.Queue()

eric ide

mercurial