--- 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()