def run(self): """ Check if slaves are alive """ while True: yield gen.sleep(gConfigurationData.getSlavesGraceTime()) self._checkSlavesStatus()
def __checkSlavesStatus(self, forceWriteConfiguration=False): gLogger.info("Checking status of slave servers") iGraceTime = gConfigurationData.getSlavesGraceTime() lSlaveURLs = self.dAliveSlaveServers.keys() bModifiedSlaveServers = False for sSlaveURL in lSlaveURLs: if time.time() - self.dAliveSlaveServers[sSlaveURL] > iGraceTime: gLogger.info("Found dead slave", sSlaveURL) del self.dAliveSlaveServers[sSlaveURL] bModifiedSlaveServers = True if bModifiedSlaveServers or forceWriteConfiguration: gConfigurationData.setServers("%s, %s" % (self.sURL, ", ".join(self.dAliveSlaveServers.keys()))) self.__generateNewVersion()
def forceSlavesUpdate(self): """ Force updating configuration on all the slave configuration servers :return: Nothing """ gLogger.info("Updating configuration on slave servers") iGraceTime = gConfigurationData.getSlavesGraceTime() urlSet = set() for slaveURL in self.dAliveSlaveServers: if time.time() - self.dAliveSlaveServers[slaveURL] <= iGraceTime: urlSet.add(slaveURL) self._updateServiceConfiguration(urlSet, fromMaster=True)
def __checkSlavesStatus(self, forceWriteConfiguration=False): gLogger.info("Checking status of slave servers") iGraceTime = gConfigurationData.getSlavesGraceTime() bModifiedSlaveServers = False for sSlaveURL in self.dAliveSlaveServers.keys(): if time.time() - self.dAliveSlaveServers[sSlaveURL] > iGraceTime: gLogger.info("Found dead slave", sSlaveURL) del self.dAliveSlaveServers[sSlaveURL] bModifiedSlaveServers = True if bModifiedSlaveServers or forceWriteConfiguration: gConfigurationData.setServers("%s, %s" % (self.sURL, ", ".join(self.dAliveSlaveServers.keys()))) self.__generateNewVersion()
def forceSlavesUpdate(self): """ Force updating configuration on all the slave configuration servers :return: S_OK/S_ERROR, Value Successful/Failed dict with service URLs """ gLogger.info("Updating configuration on slave servers") iGraceTime = gConfigurationData.getSlavesGraceTime() self.__updateResultDict = {"Successful": {}, "Failed": {}} urlSet = set() for slaveURL in self.dAliveSlaveServers: if time.time() - self.dAliveSlaveServers[slaveURL] <= iGraceTime: urlSet.add(slaveURL) return self.__updateServiceConfiguration(urlSet, fromMaster=True)
def _checkSlavesStatus(self, forceWriteConfiguration=False): """ Check if Slaves server are still availlable :param forceWriteConfiguration: (default False) Force rewriting configuration after checking slaves """ gLogger.info("Checking status of slave servers") iGraceTime = gConfigurationData.getSlavesGraceTime() bModifiedSlaveServers = False for sSlaveURL in list(self.dAliveSlaveServers): if time.time() - self.dAliveSlaveServers[sSlaveURL] > iGraceTime: gLogger.warn("Found dead slave", sSlaveURL) del self.dAliveSlaveServers[sSlaveURL] bModifiedSlaveServers = True if bModifiedSlaveServers or forceWriteConfiguration: gConfigurationData.setServers(", ".join(self.dAliveSlaveServers)) self.__generateNewVersion()
def run( self ): while True: iWaitTime = gConfigurationData.getSlavesGraceTime() time.sleep( iWaitTime ) self.__checkSlavesStatus()
def run(self): while True: iWaitTime = gConfigurationData.getSlavesGraceTime() time.sleep(iWaitTime) self._checkSlavesStatus()