code: def update_ipaddress(self):
          '''
          Updates the scheduler so it knows its own ip address
          '''
          # assign local ip in case of exception
          self.old_ip = self.my_ip
          self.my_ip = '127.0.0.1'
          try:
              obj = urllib.request.urlopen(settings.get('PUBLIC_IP_URL',
                                    'http://ip.42.pl/raw'))
              results = self.ip_regex.findall(obj.read())
              if len(results) > 0:
                  self.my_ip = results[0]
              else:
                  raise IOError("Could not get valid IP Address")
              obj.close()
              self.logger.debug("Current public ip: {ip}".format(ip=self.my_ip))
          except IOError:
              self.logger.error("Could not reach out to get public ip")
              pass
  
          if self.old_ip != self.my_ip:
              self.logger.info("Changed Public IP: {old} -> {new}".format(
                               old=self.old_ip, new=self.my_ip)f update_ipaddress(self):
          '''
          Updates the scheduler so it knows its own ip address
          '''
          # assign local ip in case of exception
          self.old_ip = self.my_ip
          self.my_ip = '127.0.0.1'
          try:
              obj = urllib.request.urlopen(settings.get('PUBLIC_IP_URL',
                                    'http://ip.42.pl/raw'))
              results = self.ip_regex.findall(obj.read())
              if len(results) > 0:
                  self.my_ip = results[0]
              else:
                  raise IOError("Could not get valid IP Address")
              obj.close()
              self.logger.debug("Current public ip: {ip}".format(ip=self.my_ip))
          except IOError:
              self.logger.error("Could not reach out to get public ip")
              pass
  
          if self.old_ip != self.my_ip:
              self.logger.info("Changed Public IP: {old} -> {new}".format(
                               old=self.old_ip, new=self.my_ip))
docs: Updates the scheduler so it knows its own ip address