Files
yadyn/server/yadyn
2007-11-13 11:44:47 +01:00

66 lines
1.4 KiB
Python
Executable File

#!/usr/bin/python
import Queue
import time
import shelve
from logger import Logger
import DynHandler
import DnsHandler
import Expirer
import DynReceiver
import CmdReceiver
import Entry
import Event
MSG_TIME_CORRIDOR = 5
EVENT_LIFE_TIME = 10
NULL_ADDRESS = '0.0.0.0'
TTL = 120
NAMESERVER = '88.198.170.2'
TSIGKEY = { "monitoring." : "+xLH8GuZnEgBljuIEM/iDA==" }
PIDFILE = "/tmp/yadyn.pid"
ADMIN_PWD = 'test123'
Logger.openlog()
Logger.debugEnable()
entries = shelve.open('entries', flag='c', writeback=True)
if len(entries) == 0:
entries['testhost'] = Entry.Entry('testhost', 'test123', 'test', 'test.de')
statusMap = shelve.open('statusMap', flag='c', writeback=True)
try:
eventq = Queue.Queue()
dnsq = Queue.Queue()
Event.Event.setParams(entries, MSG_TIME_CORRIDOR, dnsq)
dynHandler = DynHandler.DynHandler(eventq)
dynHandler.start()
dnsHandler = DnsHandler.DnsHandler(dnsq, TSIGKEY, NAMESERVER, TTL, statusMap)
dnsHandler.start()
dynReceiver = DynReceiver.DynReceiver(("", 8053), eventq)
dynReceiver.start()
expirer = Expirer.Expirer(entries, EVENT_LIFE_TIME, NULL_ADDRESS, dnsq)
expirer.start()
cmdReceiver = CmdReceiver.CmdReceiver(("", 8023), entries, ADMIN_PWD)
cmdReceiver.start()
while True:
entries.sync()
statusMap.sync()
time.sleep(10)
finally:
Logger.log("Closing shelves")
entries.close()
statusMap.close()