'Pull the data from the various hosts.'

def run(self):

    self.logger.info(('starting    blocking    stats    monitoring:    ' + self.hostKey))
    sleepTime = ((self.mmsAgent.collectionInterval / 2) - 1)
    if (sleepTime < 1):
        sleepTime = 1
    monitorConn = None
    passes = 0
    while ((not self.mmsAgent.done) and self.running):
        try:
            time.sleep(sleepTime)
            passes = (passes + 1)
            if ((passes % 60) == 0):
                monitorConn = self.mmsAgent.closeDbConnection(self.hostKey, monitorConn)
            if (not monitorConn):
                monitorConn = self.mmsAgent.getDbConnection(self.hostKey)
            if (not self._collectBlockingStats(passes, monitorConn)):
                monitorConn = self.mmsAgent.closeDbConnection(self.hostKey, monitorConn)
        except Exception as e:
            monitorConn = self.mmsAgent.closeDbConnection(self.hostKey, monitorConn)
            self.logger.error(((('Problem    collecting    blocking    data    from:    ' + self.hostKey) + '    -    exception:    ') + traceback.format_exc(e)))
    self.logger.info(('stopping    blocking    stats    monitoring:    ' + self.hostKey))
    self.mmsAgent.closeDbConnection(self.hostKey, monitorConn)
