55 @rtype (tuple of dict) |
55 @rtype (tuple of dict) |
56 """ |
56 """ |
57 return __analyze(file, text) |
57 return __analyze(file, text) |
58 |
58 |
59 |
59 |
60 def batchVultureCheck(argumentsList, send, fx, cancelled): |
60 def batchVultureCheck(argumentsList, send, fx, cancelled, maxProcesses=0): |
61 """ |
61 """ |
62 Module function to analyze a batch of files. |
62 Module function to analyze a batch of files. |
63 |
63 |
64 @param argumentsList list of arguments tuples as given for vultureCheck |
64 @param argumentsList list of arguments tuples as given for vultureCheck |
65 @type list |
65 @type list |
67 @type function |
67 @type function |
68 @param fx registered service name |
68 @param fx registered service name |
69 @type str |
69 @type str |
70 @param cancelled reference to function checking for a cancellation |
70 @param cancelled reference to function checking for a cancellation |
71 @type function |
71 @type function |
72 """ |
72 @param maxProcesses number of processes to be used |
73 try: |
73 @type int |
74 NumberOfProcesses = multiprocessing.cpu_count() |
74 """ |
75 if NumberOfProcesses >= 1: |
75 if maxProcesses == 0: |
76 NumberOfProcesses -= 1 |
76 # determine based on CPU count |
77 except NotImplementedError: |
77 try: |
78 NumberOfProcesses = 1 |
78 NumberOfProcesses = multiprocessing.cpu_count() |
|
79 if NumberOfProcesses >= 1: |
|
80 NumberOfProcesses -= 1 |
|
81 except NotImplementedError: |
|
82 NumberOfProcesses = 1 |
|
83 else: |
|
84 NumberOfProcesses = maxProcesses |
79 |
85 |
80 # Create queues |
86 # Create queues |
81 taskQueue = multiprocessing.Queue() |
87 taskQueue = multiprocessing.Queue() |
82 doneQueue = multiprocessing.Queue() |
88 doneQueue = multiprocessing.Queue() |
83 |
89 |