00001 #!/usr/local/bin/python 00002 # 00003 # Copyright 2004 00004 # by 00005 # The Board of Trustees of the 00006 # Leland Stanford Junior University. 00007 # All rights reserved. 00008 # 00009 00010 __facility__ = "Online" 00011 __abstract__ = "GLAST LAT Housekeeping server infrastructure" 00012 __author__ = "Jim Panetta <panetta@slac.stanford.edu> SLAC - GLAST I&T" 00013 __date__ = "07/28/04" 00014 __version__ = "$Revision: 1.3 $" 00015 __release__ = "$Name: R04-12-00 $" 00016 __credits__ = "SLAC" 00017 00018 import LATTE.copyright_SLAC 00019 import logging 00020 00021 from LATTE.monitoring import * 00022 from LATTE.client.gCmdCli import CmdCli 00023 from LATTE.database.gLAT import GLAT 00024 from LATTE.database.gHSK import GHSK 00025 from HskCollector import * 00026 from HskRetriever import * 00027 00028 00029 latSchema = "c:/panetta/LATTE/repos/hskAEM.xml" 00030 hskSchema = "c:/panetta/LATTE/repos/hskTestSchema.xml" 00031 dataFile = "c:/TEMP/database.txt" 00032 udpServerName='testTrendingServer' 00033 udpServerAddr='54320@239.255.1.14' 00034 00035 00036 def testCollector(): 00037 logging.basicConfig() 00038 logging.root.setLevel(logging.DEBUG) 00039 00040 cmdCli = CmdCli() 00041 cmdCli.connect("localhost") 00042 00043 collector = HskCollector(cmdCli) 00044 00045 # set up LAT schema 00046 latDB = GLAT(cmdCli) 00047 latDB.readSchema(latSchema) 00048 00049 # set up HSK schema 00050 hskDB = GHSK(cmdCli) 00051 hskDB.readSchema(hskSchema) 00052 hskDB.applyConfig(None) 00053 00054 from HskRetriever import HskLatRetriever 00055 firstRetriever = HskLatRetriever(latDB) 00056 collector.addRetriever("HSK", firstRetriever) 00057 00058 from LATTE.monitoring.HskRecorder import HskAlarmRecorder 00059 firstRecorder = HskAlarmRecorder(hskDB) 00060 collector.addRecorder(firstRecorder) 00061 00062 from LATTE.monitoring.HskRecorder import HskFileRecorder 00063 secondRecorder = HskFileRecorder(hskDB, dataFile) 00064 collector.addRecorder(secondRecorder) 00065 00066 from LATTE.monitoring.Recorder import UDPRecorder 00067 thirdRecorder=UDPRecorder() 00068 thirdRecorder.startUDPServer(udpServerName,udpServerAddr) 00069 collector.addRecorder(thirdRecorder) 00070 00071 # from LATTE.monitoring.HskRecorder import HskAlarmRecorder 00072 # thirdRecorder = HskAlarmRecorder(hskDB) 00073 # collector.addRecorder(thirdRecorder) 00074 00075 print "Collector delay: ", collector.getDelay()/10, " seconds" 00076 collector.setAcquiring(True) 00077 00078 from time import sleep 00079 try: 00080 while 1: 00081 sleep(.1) 00082 except Exception, e: 00083 collector.shutdown() 00084 00085 00086 00087 00088 00089 00090 00091 00092 if __name__ == '__main__': 00093 testCollector()