This commit is contained in:
who
2007-11-13 12:00:44 +01:00
parent d834a7af30
commit c796df2ac9
2 changed files with 25 additions and 5 deletions

View File

@ -3,11 +3,12 @@ import time
from logger import Logger from logger import Logger
class Expirer(threading.Thread): class Expirer(threading.Thread):
def __init__(self, entries, eventLifeTime, nullAddress, dnsq): def __init__(self, entries, eventLifeTime, nullAddress, expiryPeriod, dnsq):
threading.Thread.__init__(self) threading.Thread.__init__(self)
self.entries = entries self.entries = entries
self.eventLifeTime = eventLifeTime self.eventLifeTime = eventLifeTime
self.nullAddress = nullAddress self.nullAddress = nullAddress
self.expiryPeriod = expiryPeriod
self.dnsq = dnsq self.dnsq = dnsq
self.setDaemon(True) self.setDaemon(True)
@ -26,5 +27,5 @@ class Expirer(threading.Thread):
self.dnsq.put_nowait(entry) self.dnsq.put_nowait(entry)
except Queue.Full, e: except Queue.Full, e:
Logger.log("Dns Queue overrun, drop expiry of %s" % str(entry)) Logger.log("Dns Queue overrun, drop expiry of %s" % str(entry))
time.sleep(10) time.sleep(self.expiryPeriod)

View File

@ -15,17 +15,34 @@ import Event
MSG_TIME_CORRIDOR = 5 MSG_TIME_CORRIDOR = 120
EVENT_LIFE_TIME = 10 EVENT_LIFE_TIME = 10
NULL_ADDRESS = '0.0.0.0' NULL_ADDRESS = '0.0.0.0'
TTL = 120 TTL = 120
EXPIRY_PERIOD = 10
NAMESERVER = '88.198.170.2' NAMESERVER = '88.198.170.2'
TSIGKEY = { "monitoring." : "+xLH8GuZnEgBljuIEM/iDA==" } TSIGKEY = { "monitoring." : "+xLH8GuZnEgBljuIEM/iDA==" }
PIDFILE = "/tmp/yadyn.pid" PIDFILE = "/tmp/yadyn.pid"
ADMIN_PWD = 'test123' ADMIN_PWD = 'test123'
DEBUG = False
if DEBUG:
pid = 0
else:
pid = os.fork()
if pid:
pidFile = file(PIDFILE , mode='w')
pidFile.write("%i\n" % pid)
pidFile.close()
sys.exit(0)
Logger.openlog() Logger.openlog()
if DEBUG:
Logger.debugEnable() Logger.debugEnable()
entries = shelve.open('entries', flag='c', writeback=True) entries = shelve.open('entries', flag='c', writeback=True)
@ -34,6 +51,8 @@ if len(entries) == 0:
statusMap = shelve.open('statusMap', flag='c', writeback=True) statusMap = shelve.open('statusMap', flag='c', writeback=True)
try: try:
eventq = Queue.Queue() eventq = Queue.Queue()
dnsq = Queue.Queue() dnsq = Queue.Queue()
@ -49,7 +68,7 @@ try:
dynReceiver = DynReceiver.DynReceiver(("", 8053), eventq) dynReceiver = DynReceiver.DynReceiver(("", 8053), eventq)
dynReceiver.start() dynReceiver.start()
expirer = Expirer.Expirer(entries, EVENT_LIFE_TIME, NULL_ADDRESS, dnsq) expirer = Expirer.Expirer(entries, EVENT_LIFE_TIME, NULL_ADDRESS, EXPIRY_PERIOD, dnsq)
expirer.start() expirer.start()
cmdReceiver = CmdReceiver.CmdReceiver(("", 8023), entries, ADMIN_PWD) cmdReceiver = CmdReceiver.CmdReceiver(("", 8023), entries, ADMIN_PWD)