diff --git a/windows-collect/src/proinfodataAgent.py b/windows-collect/src/proinfodataAgent.py index 663ed6ef4da6bcac821b1fbbb9edfd9bea5dfeec..96b6069b2b38826e6c2bee052ab2975ca18c1a4f 100644 --- a/windows-collect/src/proinfodataAgent.py +++ b/windows-collect/src/proinfodataAgent.py @@ -25,7 +25,7 @@ import _winreg import shutil import subprocess import urllib -from time import localtime, strftime +from time import localtime, strftime, time from xml.etree.ElementTree import tostring import collect import glob @@ -37,6 +37,7 @@ import glob PROINFODATAPATH = os.environ["ProgramFiles"] + "\\ProInfoData" PREVIOUSPATH = PROINFODATAPATH + "\\data\\previous" URL = "http://200.17.202.187/tomcat/axis/Seed2.jws" +LASTEXEC = PROINFODATAPATH + "\\data\\lastexec.txt" # Log lifetime in days LOGLIFETIME = 30 @@ -189,6 +190,19 @@ def callUpdater(): # Wait to be killed out = proc.communicate() +# Check if have passed 24 hours since the last sucessful execution +def elapsedTime(): + if not os.path.exists(LASTEXEC): + return True + + lastexec = file(LASTEXEC , "r").read() + + # 86400 seconds = 24 hours + if time() - float(lastexec) > 86400: + return True + else: + return False + # ========================================== # Main program # ========================================== @@ -271,6 +285,13 @@ if(updatelink): else: log.write("UPDATE: No updates are available.") +# Check if have passed 24 hours since the last sucessful execution +if not elapsedTime(): + # If everything ran ok, exit with success status + log.write("EXIT(0): Success, not elapsed time.") + log.close() + sys.exit(0) + # Collect data try: collectData = collect.collect() @@ -329,6 +350,11 @@ if os.path.isdir(PREVIOUSPATH): log.close() sys.exit(14) +# Record the last sucess execution +lastExecFile = file(LASTEXEC , "w") +lastExecFile.write(str(time())) +lastExecFile.close() + # If everything ran ok, exit with success status log.write("EXIT(0): Success.") log.close()