def action(self): print 'releasing load...' logger.info('releasing load on rain DRIVER_NODES') # Release load dlist = [] for client in self.blackboard.rain_clients: print ' * releasing %s' % (client) logger.debug('releasing') d = client.startBenchmark(long(base.millis())) dlist.append(d) self.d = defer.Deferred() dl = defer.DeferredList(dlist) dl.addCallback(self.rain_started) return self.d
def action(self): print 'Releasing Rain load...' logger.log(sonarlog.SYNC, 'releasing load on rain DRIVER_NODES') # Deferred list dlist = [] # For all Rain hosts for client in self.blackboard.rain_clients: print ' * releasing %s' % (client) logger.info('releasing %s' % client) # Call start benchmark d = client.startBenchmark(long(base.millis())) dlist.append(d) # Wait for all release calls to finish dl = defer.DeferredList(dlist) self.da = defer.Deferred() dl.addCallback(self.triggered) dl.addErrback(self.error) return self.da
def rain_connected(rain_clients, client_list): print 'releasing load...' logger.info('releasing load on rain DRIVER_NODES') # Extract clients _rain_clients = [] for client in rain_clients: _rain_clients.append(client[1].client) if client[0] == False: print 'Warn: Could not connect with all Rain servers' rain_clients = _rain_clients # Release load dlist = [] for client in rain_clients: print ' * releasing %s' % (client) logger.debug('releasing') d = client.startBenchmark(long(base.millis())) dlist.append(d) d = defer.DeferredList(dlist) d.addCallback(rain_started, rain_clients, client_list)