import threading import time class Expirer(threading.Thread): def __init__(self, entries, eventLifeTime, nullAddress): threading.Thread.__init__(self) self.entries = entries self.eventLifeTime = eventLifeTime self.nullAddress = nullAddress self.setDaemon(True) def run(self): while True: print "Expiring ..." currentTime = int(time.time()) for entry in self.entries.values(): print "Checking ", str(entry) if entry.lastEventTime != 0 and entry.lastEventTime + self.eventLifeTime < currentTime: print "Entry %s expired" % entry.dynid entry.lastEventTime = 0 entry.address = self.nullAddress print "Set in DNS: %s -> %s" % (entry.name, entry.address) time.sleep(10)