Пример #1
0
        else:
            print "### No need to correct!"

if __name__ == "__main__":    
    """ If no arguments exist, input startTime from parameter.py """
    if len(sys.argv) < 2:
        print "### Used default parameters for startTime!"
    else:
        startTime = sys.argv[1]
        startTime = startTime[0:10] + "0000"
        startTime = timeHrAdd(startTime, -1)
        stopsTime = timeHrAdd(startTime, 1)
        print "### Used startTime =", startTime
    
    """ Initialize the required Databases and the main function"""
    hbD = ae.hbase(HBaseTable_Downtime, hbaseIP)
    db = ae.mongo(Mongo_N71_DB, mongoIP, mongoPort)

    """ Read the recorded last query time and the latest insert time """    
    LQT = db.find(LastQueryTime, {})
    oldLastQueryTime = LQT[0]["LastQueryTime"]
    print "### IMPORTANT ### LastQueryTime = ", oldLastQueryTime
    resD, newLastQueryTime = hbD.ScanReturnList_InserTime(oldLastQueryTime)
    if resD:
        startEventTime = resD[0]['key'].split("_")[0]
        stopsEventTime = resD[-1]['key'].split("_")[0]
        data = {"LastQueryTime" : timeSecAdd(newLastQueryTime, 1)}
        time = resD[0]['key'].split("_")[0]
        print "### Updated from "+ startEventTime+" to "+stopsEventTime
        while resD:
            try:
Пример #2
0
    db.drop(MongoStationIP_Collection)
    db.drop(BySubStationName_Shifts)
    db.drop(ByStationIP_Shifts)
    db.drop(BySubStationName_Rank)
    db.drop(ByStationIP_Rank)
    db.drop(MongoCheck_Collection)
    db.drop(StationSummary)    
    db.drop(ByStation) 
    db.drop(ByStation_Shifts)    
    db.drop(LastResult) 
    
# Main Function
if __name__ == "__main__":
    name = Mongo_N71_DB
    #createDatabase(name)
    db = ae.mongo(name, mongoIP, mongoPort)
    if len(sys.argv) < 2:
        create = 1
    else:
        create = int(sys.argv[1])
    if create:
        print "Initialize all collections!"
        createDatabase(Mongo_N71_DB)
        createBySubStationName(db)
        createByStationIP(db)
        createBySubStationName_Shifts(db)
        createByStationIP_Shifts(db)
        createCheck(db)
        createLastMode(db)
        createLastTime(db)
        createSummary(db)
Пример #3
0
                stat = each.split("_")[1]
                summary = db.find(StationSummary, {"station_name":stat, "line":line})
                if summary:
                    query = {"station_name":stat, "line":line}
                    data = {
                        "update_time": update_time,
                        "downtime_5days" : downtime_5days[each]
                    }
                    db.update(StationSummary, query, data)
                else:
                    downtime = downtime_5days[each]
                    data = {
                        "station_name": stat,
                        "line": line,
                        "update_time": update_time,
                        "downtime_5days" : downtime_5days[each],
                        "downtime_24hour": 0,
                        "downtime_shift": 0,
                        "downtime_day": 0
                    }
                    db.insert(StationSummary, data)    
        yesterday = timeHrAdd(yesterday, 1)         
            
if __name__ == "__main__":
    table = "test"
    hbD = ae.hbase("N71_AE_Downtime", hbaseIP)
    #resD, newLastQueryTime = hbD.ScanReturnList_InserTime("20150428143001")
    resD = hbD.ScanReturnList("20150418110443", "20150418140040")
    db = ae.mongo(Mongo_N71_DB, mongoIP, mongoPort)
    aggregateDowntime(resD, db)
    StationSummarize("20150423000000", db)
Пример #4
0
                        ips[ip]["downtime_error"][code]["duration"] += each["downtime_error"][code]["duration"]
                ips[ip]["downtime"] += each["downtime"]
        resSt = db.find(ByStation, {"date":dt[0:8], "time":dt[8:14]})
        for each in resSt:
            station = each["line"] + "_" + each["station_name"]
            if station not in stations:
                stations[station] = each
                stations[station]['date'] = startTime[0:8]
                del stations[station]["time"]
                stations[station]["shift"] = shift
            else:
                stations[station]["downtime"] += each["downtime"]
            #if each["station_name"] == "BBS":
            #    print each
            #    print each["downtime"]
            #    print stations[station]["downtime"]
    return subs, ips, stations

def MRmain(db, startTime, stopsTime, subCol, ipCol, shiftTime, shift):
    subs, ips, stations = Aggregate(db, startTime, stopsTime, shiftTime, shift)
    return subs, ips, stations
    
## Test
if __name__ == "__main__":
    table = "test"
    db = ae.mongo(table, mongoIP, mongoPort)    
    startTime = "20150403140000"
    stopsTime = "20150422140000"
    s = MongoSubStationName_Collection
    i = MongoStationIP_Collection
    MRmain(db, startTime, stopsTime, s, i)