Esempio n. 1
0
    def updateNextRun(jobData):
        try:
            interval = int(jobData["interval"])
            if jobData["lastRunDate"] == "-1":
                if interval < 0:

                    jobData["nextRunTime"] = Generic.addTime(
                        Generic.strToTime(jobData["scheuledTime"]),
                        (-1 * interval))
                    #print(jobData["nextRunTime"])
                    jobData["nextRunDate"] = Generic.getDate()

                else:
                    jobData["nextRunTime"] = jobData["scheuledTime"]
                    jobData["nextRunDate"] = Generic.dateToStr(
                        Generic.addDate(Generic.strToDate(Generic.getDate()),
                                        interval))
            else:
                if interval < 0:

                    jobData["nextRunTime"] = Generic.addTime(
                        Generic.strToTime(jobData["nextRunTime"]),
                        (-1 * interval))
                    #print(jobData["nextRunTime"])
                    jobData["nextRunDate"] = Generic.getDate()
                else:
                    jobData["nextRunTime"] = jobData["scheuledTime"]
                    jobData["nextRunDate"] = Generic.dateToStr(
                        Generic.addDate(
                            Generic.strToDate(jobData["nextRunDate"]),
                            interval))

            return jobData
        except Exception as e:
            log("Error_Jobs_updateNextRun@" + str(e))
Esempio n. 2
0
 def lastRunUpdate(jobName):
     try:
         data = Json_evaluation.getJsonByKey(filename=__jobFile__,
                                             key=jobName)
         data = Job.updateNextRun(data)
         data["lastRunDate"] = Generic.getDate()
         n_data = {}
         n_data[jobName] = data  #Next scheduled time update
         Json_evaluation.updateJson(dict=n_data, filename=__jobFile__)
         log("Job " + jobName + " last Run Updated!!")
     except Exception as e:
         log("Error_Jobs_lastRunUpdate@" + str(e))
Esempio n. 3
0
    def getActiveJobs(path=__guidePath__):
        try:
            data = Job.evaluateJob(path)
            #print(data)
            curDate = Generic.strToDate(Generic.getDate())
            activeJobs = {}
            for key in data.keys():
                if Generic.strToDate(data[key]["startDate"]
                                     ) <= curDate and Generic.strToDate(
                                         data[key]["endDate"]) >= curDate and (
                                             data[key]["isActive"] == 1
                                             or data[key]["isActive"] == "on"):
                    activeJobs[key] = data[key]
            return activeJobs

        except Exception as e:
            log("Error_Jobs_isJobEligibleToRun@" + str(e))
            return 0
Esempio n. 4
0
 def prepareJobQueue():
     try:
         todayList = {}
         data = Job.evaluateJob()
         #print(data)
         curDate = Generic.strToDate(Generic.getDate())
         curTime = Generic.strToTime(Generic.getTime())
         #print(curTime)
         for key in data.keys():
             timeKeyword = ""
             lastRunDate = data[key]["lastRunDate"]
             if data[key]["lastRunDate"] == "-1":
                 timeKeyword = "scheuledTime"
             else:
                 timeKeyword = "nextRunTime"
             if Generic.strToDate(
                     data[key]
                 ["startDate"]) <= curDate and Generic.strToDate(
                     data[key]["endDate"]) >= curDate and (
                         data[key]["isActive"] == 1
                         or data[key]["isActive"] == "on") and (
                             lastRunDate == "-1" or Job.isJobEligibleToRun(
                                 int(data[key]["interval"]), curDate,
                                 curTime, data[key][timeKeyword])
                             == 1) and Generic.strToTime(
                                 data[key][timeKeyword]) >= curTime:
                 todayList[key] = {
                     "scheduledTime":
                     data[key][timeKeyword],
                     "remainingSec":
                     Generic.timeDiff(Generic.getTime(),
                                      data[key][timeKeyword]),
                     "nextRunDate":
                     "-" if timeKeyword == "scheuledTime" else
                     data[key]['nextRunDate'],
                     "nextRunTime":
                     "-" if timeKeyword == "scheuledTime" else
                     data[key]['nextRunTime']
                 }
                 #print(todayList)
         Json_evaluation.writeJSON(data=todayList, filename=__jobQueue__)
         log("Job Queue Prepared....")
     except Exception as e:
         log("Error_Jobs_prepareJobQueue@" + str(e))
Esempio n. 5
0
 def getNearestJob():  #Disabled in v3.0
     try:
         data = Json_evaluation.readJSON(filename=__jobQueue__)
         #print(data)
         jobCache = ""
         curDate = Generic.strToDate(Generic.getDate())
         lesserTime = -1
         for key in data.keys():
             if lesserTime == -1 and Generic.strToTime(
                     data[key]["scheduledTime"]) >= Generic.strToTime(
                         Generic.getTime()):
                 lesserTime = data[key]["remainingSec"]
                 jobCache = key
             if lesserTime > int(
                     data[key]["remainingSec"]) and Generic.strToTime(
                         data[key]["scheduledTime"]) >= Generic.strToTime(
                             Generic.getTime()):
                 lesserTime = data[key]["remainingSec"]
                 jobCache = key
         return jobCache
     except Exception as e:
         log("Error_Jobs_getNearestJob@" + str(e))