Hi!
Following patch will give you better control using parallel option. In
original code, when you specified "2" parallel clients, 4 actual jobs where
running. This is because wrong order of checking how much jobs are running.
For that reason, fillCollectionSlots is moved AFTER self.clients.remove.
I think the patch is simple enough so it should be easy to understand it. :-)
H.
--- ./Products/DataCollector/zenmodeler.py.orig 2007-02-08 11:42:41.000000000 +0100
+++ ./Products/DataCollector/zenmodeler.py 2007-02-08 11:41:54.000000000 +0100
@@ -279,12 +279,12 @@
collectorClient.hostname)
device = collectorClient.device
self.applyData.processClient(device, collectorClient)
- self.fillCollectionSlots()
finally:
try: self.clients.remove(collectorClient)
except ValueError:
self.log.warn("client %s not found in active clients",
collectorClient.hostname)
+ self.fillCollectionSlots()
def checkStop(self):
@@ -310,7 +310,7 @@
"""If there are any free collection slots fill them up
"""
count = len(self.clients)
- while (count <= self.options.parallel and
+ while (count < self.options.parallel and
self.devicegen and not self.slowDown):
try:
device = self.devicegen.next()
_______________________________________________
zenoss-users mailing list
[email protected]
http://lists.zenoss.org/mailman/listinfo/zenoss-users