From fa61f607ec3a34e7462a6ecc3c2e0f7190f12fe1 Mon Sep 17 00:00:00 2001 From: Edileuton Henrique de Oliveira <eho09@c3sl.ufpr.br> Date: Fri, 7 Mar 2014 17:10:21 -0300 Subject: [PATCH] Add elapsedtime function that verifies if have passed 24 hours since the last sucessful execution Signed-off-by: Edileuton Henrique de Oliveira <eho09@c3sl.ufpr.br> --- windows-collect/src/proinfodataAgent.py | 28 ++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/windows-collect/src/proinfodataAgent.py b/windows-collect/src/proinfodataAgent.py index 663ed6e..96b6069 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() -- GitLab