示例#1
0
 def _getNextRunDate(self,pd):
     mdate   = datetime.strptime(pd,'%Y%m%d')
     dayOfWk = mdate.weekday()
     nxtDay  = 1    
     nrd = su.getDayPlusStr(nxtDay,pd,'%Y%m%d')
     self.log.debug('pd=%s dayOfWk=%s nxtDay=%s Next Run Date (nrd) =%s ' % (pd,su.DL[dayOfWk],nxtDay,nrd))
     
     return nrd
示例#2
0
def _getWDayNextRunDate(pd, sch):
    mdate = datetime.strptime(pd, "%Y%m%d")
    dow = mdate.weekday()

    if dow > 4:
        return 2  # Last ran date is Sat or Sun. Probably a recovery.

    if dow == 4:
        nxtDay = 3  # Friday
    else:
        nxtDay = 1

    nrd = su.getDayPlusStr(nxtDay, pd, "%Y%m%d")

    return nrd
示例#3
0
def _getCustNextRunDate(pd, sch):
    nxtDay = -1
    if len(sch) < 1:
        return 3

    sd = []
    for s in sch:
        if custDay.has_key(s):
            sd.append(custDay.get(s))
        else:
            return 4

    sd.sort()

    mdate = datetime.strptime(pd, "%Y%m%d")
    dow = mdate.weekday()

    slen = len(sd)
    if slen == 1:
        return _getWklyNextRunDate(pd, sch)  # Weekly run
    if slen == 7:
        return _getDlyNextRunDate(pd, sch)  # daily run

    # sched has 2 ot 6 elements.
    tail = sd[slen - 1]

    print "tail = %s" % (tail)

    i = 0
    for s in sd:
        if s == dow:
            if s == tail:
                nxtDay = 7 - sd[i] + sd[0]
            else:
                nxtDay = sd[i + 1] - s
            break
        i += 1

    print "dow = %s s = %s  tail = %s i = %d slen = %s ==nxtDay = %s " % (dow, s, tail, i, slen, nxtDay)
    if nxtDay != -1:
        return su.getDayPlusStr(nxtDay, pd, "%Y%m%d")
    else:
        return 6
示例#4
0
def _getWklyNextRunDate(pd, sch):
    return su.getDayPlusStr(7, pd, "%Y%m%d")