2 SERVERS = [
"lem.hep.caltech.edu"]
9 machine = socket.gethostname()
10 status[
"machine"] = machine
11 this_time = time.localtime()
12 time_str = time.strftime(
"%Y-%m-%d %H:%M:%S", this_time)
13 status[
"time"] = time_str
14 status[
"year"] = this_time.tm_year
15 status[
"month"] = this_time.tm_mon
16 status[
"day"] = this_time.tm_mday
17 status[
"hour"] = this_time.tm_hour
18 status[
"minute"] = this_time.tm_min
19 status[
"second"] = this_time.tm_sec
27 for server
in SERVERS:
29 url =
"http://%s:%i/status"%(server,port)
30 results[url] = {
"status" :
False,
33 "exception_text":
False}
34 if verbose:
print "lem : determining status of %s"%url
36 while (attempts < MAX_ATTEMPTS):
38 response = urllib2.urlopen(url)
39 content = response.read()
40 if verbose:
print "lem : ---\n%s\nlem : ---\n"%content
41 results[url][
"status"] =
"good" 42 results[url][
"status_text"] = content
43 results[url][
"exception"] =
False 44 results[url][
"exception_text"] =
False 46 except urllib2.URLError
as exception:
49 print "lem : attempt[%i/%i] failed"%(attempts,MAX_ATTEMPTS)
50 print "lem : exception type: ",type(exception)
51 print "lem : ---\n%s\nlem : ---\n"%
str(exception.reason)
52 results[url][
"status"] =
"bad" 53 results[url][
"status_text"] =
False 54 results[url][
"exception"] =
str(type(exception))
55 results[url][
"exception_text"] =
str(exception.reason)
56 status[
"results"] = results
60 def appendToFile(status, prefix="/nusoft/app/web/htdoc/nova/lem/"):
62 output_name =
"%s/lemmon.json"%(prefix)
63 if not os.path.exists(output_name):
64 print "tools: output file %s doesn't exist, making a fresh file"%output_name
66 statuses[
"servers"] = SERVERS
67 statuses[
"ports"] = PORTS
68 statuses[
"machine"] = []
71 statuses[
"month"] = []
74 statuses[
"minute"] = []
75 statuses[
"second"] = []
76 statuses[
"results"] = []
78 print "tools: loading output file" 79 statuses = json.load(
open(output_name,
"r")) 80 print "tools: Appending to list of %i statuses"%len(statuses[
"time"])
82 with
open(output_name,
"w")
as outfile:
83 json.dump(statuses, outfile)
84 print "tools: written to %s"%output_name
88 history[
"machine"].
append( new[
"machine"])
89 history[
"time"].
append( new[
"time"])
90 history[
"year"].
append( new[
"year"])
91 history[
"month"].
append( new[
"month"])
92 history[
"day"].
append( new[
"day"])
93 history[
"hour"].
append( new[
"hour"])
94 history[
"minute"].
append( new[
"minute"])
95 history[
"second"].
append( new[
"second"])
96 history[
"results"].
append( new[
"results"])
procfile open("FD_BRL_v0.txt")