def check_walker(self): mode = self._walker['walkertype'] if mode == "countdown": logger.info("Checking walker mode 'countdown'") countdown = self._walker['walkervalue'] if not countdown: logger.error( "No Value for Mode - check your settings! Killing worker") return False if self.workerstart is None: self.workerstart = math.floor(time.time()) else: if math.floor( time.time()) >= int(self.workerstart) + int(countdown): return False return True elif mode == "timer": logger.debug("Checking walker mode 'timer'") exittime = self._walker['walkervalue'] if not exittime or ':' not in exittime: logger.error( "No or wrong Value for Mode - check your settings! Killing worker" ) return False return check_walker_value_type(exittime) elif mode == "round": logger.error("Rounds while sleep - HAHAHAH") return False elif mode == "period": logger.debug("Checking walker mode 'period'") period = self._walker['walkervalue'] if len(period) == 0: logger.error( "No Value for Mode - check your settings! Killing worker") return False return check_walker_value_type(period) elif mode == "coords": exittime = self._walker['walkervalue'] if len(exittime) > 0: return check_walker_value_type(exittime) return True elif mode == "idle": logger.debug("Checking walker mode 'idle'") if len(self._walker['walkervalue']) == 0: logger.error( "Wrong Value for mode - check your settings! Killing worker" ) return False sleeptime = self._walker['walkervalue'] logger.info('{} going to sleep', str(self._id)) killpogo = False if check_walker_value_type(sleeptime): self._stop_pogo() killpogo = True while check_walker_value_type( sleeptime) and not self._stop_worker_event.isSet(): time.sleep(1) logger.info('{} just woke up', str(self._id)) if killpogo: try: self._start_pogo() except (WebsocketWorkerRemovedException, WebsocketWorkerTimeoutException): logger.error("Timeout during init of worker {}", str(self._id)) return False else: logger.error("Unknown walker mode! Killing worker") return False
def check_walker(self): mode = self._walker['walkertype'] if mode == "countdown": logger.info("Checking walker mode 'countdown'") countdown = self._walker['walkervalue'] if not countdown: logger.error( "No Value for Mode - check your settings! Killing worker") return False if self.workerstart is None: self.workerstart = math.floor(time.time()) else: if math.floor( time.time()) >= int(self.workerstart) + int(countdown): return False return True elif mode == "timer": logger.debug("Checking walker mode 'timer'") exittime = self._walker['walkervalue'] if not exittime or ':' not in exittime: logger.error( "No or wrong Value for Mode - check your settings! Killing worker" ) return False return check_walker_value_type(exittime) elif mode == "round": logger.debug("Checking walker mode 'round'") rounds = self._walker['walkervalue'] if len(rounds) == 0: logger.error( "No Value for Mode - check your settings! Killing worker") return False processed_rounds = self._mapping_manager.routemanager_get_rounds( self._routemanager_name, self._id) if int(processed_rounds) >= int(rounds): return False return True elif mode == "period": logger.debug("Checking walker mode 'period'") period = self._walker['walkervalue'] if len(period) == 0: logger.error( "No Value for Mode - check your settings! Killing worker") return False return check_walker_value_type(period) elif mode == "coords": exittime = self._walker['walkervalue'] if len(exittime) > 0: return check_walker_value_type(exittime) return True elif mode == "idle": logger.debug("Checking walker mode 'idle'") if len(self._walker['walkervalue']) == 0: logger.error( "Wrong Value for mode - check your settings! Killing worker" ) return False sleeptime = self._walker['walkervalue'] logger.info('{} going to sleep', str(self._id)) killpogo = False if check_walker_value_type(sleeptime): self._stop_pogo() killpogo = True while not self._stop_worker_event.isSet( ) and check_walker_value_type(sleeptime): time.sleep(1) logger.info('{} just woke up', str(self._id)) if killpogo: self._start_pogo() return False else: logger.error("Unknown walker mode! Killing worker") return False
def check_walker(self): mode = self._walker['walkertype'] if mode == "countdown": log.info("Checking Walker Mode Countdown") countdown = self._walker['walkervalue'] if not countdown: log.error( "No Value for Mode - check your settings! - kill Worker") return False if self._walkerstart is None: self._walkerstart = math.floor(time.time()) else: if math.floor(time.time()) >= int( self._walkerstart) + int(countdown): return False return True elif mode == "timer": log.info("Checking Walker Mode Timer") exittime = self._walker['walkervalue'] if not exittime or ':' not in exittime: log.error( "No or wrong Value for Mode - check your settings! - kill Worker" ) return False return check_walker_value_type(exittime) elif mode == "round": log.info("Checking Walker Mode Round") rounds = self._walker['walkervalue'] if len(rounds) == 0: log.error( "No Value for Mode - check your settings! - kill Worker") return False processed_rounds = self._walker_routemanager.get_rounds(self._id) if int(processed_rounds) >= int(rounds): return False return True elif mode == "period": log.info("Checking Walker Mode Period") period = self._walker['walkervalue'] if len(period) == 0: log.error( "No Value for Mode - check your settings! - kill Worker") return False return check_walker_value_type(period) elif mode == "coords": exittime = self._walker['walkervalue'] if len(exittime) > 0: return check_walker_value_type(exittime) return True elif mode == "idle": log.info("Checking Walker Mode Idle") if len(self._walker['walkervalue']) == 0: log.error( "Wrong Value for mode - check your settings! - kill Worker" ) return False sleeptime = self._walker['walkervalue'] log.info('%s going to sleep' % str(self._id)) killpogo = False if check_walker_value_type(sleeptime): self._stop_pogo() killpogo = True while not self._stop_worker_event.isSet( ) and check_walker_value_type(sleeptime): time.sleep(1) log.info('%s just woke up' % str(self._id)) if killpogo: self._start_pogo() return False else: log.error("Dont know this Walker Mode - kill Worker") return False return True