示例#1
0
 def do_work(self, device_id, group):
     if self.lock(device_id, timeout=LibreNMS.normalize_wait(self.config.discovery.frequency)):
         try:
             info("Discovering device {}".format(device_id))
             LibreNMS.call_script('discovery.php', ('-h', device_id))
         except subprocess.CalledProcessError as e:
             if e.returncode == 5:
                 info("Device {} is down, cannot discover, waiting {}s for retry"
                      .format(device_id, self.config.down_retry))
                 self.lock(device_id, allow_relock=True, timeout=self.config.down_retry)
             else:
                 self.unlock(device_id)
         else:
             self.unlock(device_id)
示例#2
0
 def do_work(self, device_id, group):
     if self.lock(device_id,
                  timeout=LibreNMS.normalize_wait(
                      self.config.discovery.frequency)):
         try:
             info("Discovering device {}".format(device_id))
             LibreNMS.call_script("discovery.php", ("-h", device_id))
         except subprocess.CalledProcessError as e:
             if e.returncode == 5:
                 info(
                     "Device {} is down, cannot discover, waiting {}s for retry"
                     .format(device_id, self.config.down_retry))
                 self.lock(device_id,
                           allow_relock=True,
                           timeout=self.config.down_retry)
             else:
                 self.unlock(device_id)
         else:
             self.unlock(device_id)
示例#3
0
 def do_work(self, device_id, group):
     if self.lock(device_id,
                  timeout=LibreNMS.normalize_wait(
                      self.config.discovery.frequency)):
         logger.info("Discovering device {}".format(device_id))
         exit_code, output = LibreNMS.call_script("discovery.php",
                                                  ("-h", device_id))
         if exit_code == 0:
             self.unlock(device_id)
         else:
             if exit_code == 5:
                 logger.info(
                     "Device {} is down, cannot discover, waiting {}s for retry"
                     .format(device_id, self.config.down_retry))
                 self.lock(device_id,
                           allow_relock=True,
                           timeout=self.config.down_retry)
             else:
                 logger.error(
                     "Discovering device {} failed with exit code {}: {}".
                     format(device_id, exit_code, output))
                 self.unlock(device_id)
示例#4
0
 def lock_discovery(self, device_id, retry=False):
     lock_name = self.gen_lock_name('discovery', device_id)
     timeout = self.config.down_retry if retry else LibreNMS.normalize_wait(
         self.config.discovery.frequency)
     return self._lm.lock(lock_name, self.gen_lock_owner(), timeout, retry)
示例#5
0
文件: service.py 项目: Kal42/librenms
 def lock_discovery(self, device_id, retry=False):
     lock_name = self.gen_lock_name('discovery', device_id)
     timeout = self.config.down_retry if retry else LibreNMS.normalize_wait(self.config.discovery.frequency)
     return self._lm.lock(lock_name, self.gen_lock_owner(), timeout, retry)