Example #1
0
def compute_pre_with_jobid(jobid):
    #    print time11, time12, jobid
    UTC = datetime.timedelta(hours=8)
    resu = []
    resu = get_re_jobid(jobid)
    for val in resu:
        ti = val[0] + " " + val[1] + " " + val[2]
        program_name = val[2]
        CNC = int(val[5])
        run_time = int(val[6])
        corehour = float(val[7])
        time21 = val[3]
        time22 = val[4]
        node = val[8]
        t21 = datetime.datetime.strptime(time21, '%Y-%m-%d %H:%M:%S')
        t22 = datetime.datetime.strptime(time22, '%Y-%m-%d %H:%M:%S')
        min_time = time_to_sec_fast(time21)
        max_time = time_to_sec_fast(time22)
        tt1 = str(t21 - UTC)
        tt2 = str(t22 - UTC)
        time1 = tt1[:10] + "T" + tt1[11:] + ".000Z"
        time2 = tt2[:10] + "T" + tt2[11:] + ".000Z"
        iplist = []
        for no in node:
            a = no.split('-')
            try:
                int(a[0])
            except Exception:
                print a[0]
                print 'null node!!!'
                return
            if len(a) > 1:
                #            print a[0],a[1]
                for x in range(int(a[0]), int(a[1]) + 1):
                    w2 = x // 1024
                    w3 = (x - w2 * 1024) // 8
                    w4 = x - w2 * 1024 - w3 * 8 + 1
                    ip = "172." + str(w2) + "." + str(w3) + "." + str(w4)
                    iplist.append(ip)
            elif len(a) == 1:
                #print a[0]
                w2 = int(a[0]) // 1024
                w3 = (int(a[0]) - w2 * 1024) // 8
                w4 = int(a[0]) - w2 * 1024 - w3 * 8 + 1
                ip = "172." + str(w2) + "." + str(w3) + "." + str(w4)
                iplist.append(ip)
    return jobid, CNC, run_time, corehour, time1, time2, iplist, min_time, max_time
def compute_pre(starttime, endtime, jobid):
    time11 = str(starttime)
    time12 = str(endtime)
    t11 = datetime.datetime.strptime(time11, '%Y-%m-%d %H:%M:%S')
    t12 = datetime.datetime.strptime(time12, '%Y-%m-%d %H:%M:%S')
    UTC = datetime.timedelta(hours=8)
    resu = []
    resu = get_re_jobid(jobid)
    print_tag = 1
    for val in resu:
        ti = val[0] + ' ' + val[1] + ' ' + val[2]
        time21 = val[3]
        time22 = val[4]
        if time22 == 'None':
            time22 = time12
        node = val[8]
        time21 = time11
        time22 = time12
        t21 = datetime.datetime.strptime(time21, '%Y-%m-%d %H:%M:%S')
        t22 = datetime.datetime.strptime(time22, '%Y-%m-%d %H:%M:%S')
        if time21 <= time11:
            time1 = time11
            t1 = t11
        else:
            time1 = time21
            t1 = t21
        if time22 >= time12:
            time2 = time12
            t2 = t12
        else:
            time2 = time22
            t2 = t22
        min_time = time_to_sec_fast(time1)
        max_time = time_to_sec_fast(time2)
        tt1 = str(t1 - UTC)
        tt2 = str(t2 - UTC)
        time1 = tt1[:10] + 'T' + tt1[11:] + '.000Z'
        time2 = tt2[:10] + 'T' + tt2[11:] + '.000Z'
        iplist = []

    for no in node:
        a = no.split('-')
        try:
            int(a[0])
        except Exception:
            print a[0]
            print 'null node!!!'
            return

        if len(a) > 1:
            for x in range(int(a[0]), int(a[1]) + 1):
                w2 = x // 1024
                w3 = (x - w2 * 1024) // 8
                w4 = x - w2 * 1024 - w3 * 8 + 1
                ip = '172.' + str(w2) + '.' + str(w3) + '.' + str(w4)
                iplist.append(ip)

        elif len(a) == 1:
            w2 = int(a[0]) // 1024
            w3 = (int(a[0]) - w2 * 1024) // 8
            w4 = int(a[0]) - w2 * 1024 - w3 * 8 + 1
            ip = '172.' + str(w2) + '.' + str(w3) + '.' + str(w4)
            iplist.append(ip)

    return (time1, time2, iplist, min_time, max_time)
Example #3
0
def insert(jobid, column):
    conn = MySQLdb.connect(host='20.0.2.201',
                           user='******',
                           db='JOB_IO',
                           passwd='',
                           port=3306)
    print "connect success-----------------"
    try:
        resu = get_re_jobid(jobid)
        for val in resu:
            program_name = val[2]
            CNC = int(val[5])
        try:
            sum_IOBW_r, sum_IOBW_w, \
            count_IOBW_r, count_IOBW_w, count_IOBW_rw, \
            average_IOBW_r, average_IOBW_w, \
            sum_IOPS_r, sum_IOPS_w, count_IOPS_r, count_IOPS_w, \
            count_IOPS_rw, count_IOPS_rw_all, \
            average_IOPS_r, average_IOPS_w, \
            sum_MDS_o, sum_MDS_c, \
            count_MDS_o, count_MDS_c, count_MDS_oc, \
            average_MDS_o, average_MDS_c, \
            max_PE_r, max_PE_w, file_all_count= \
            compute_result(jobid)

            cursor = conn.cursor()
            sql="INSERT INTO JOB_IO_INFO( \
            "             +column[0]+","+column[1]+","+ \
            column[2]+","+column[3]+","+ \
            column[4]+","+column[5]+","+ \
            column[6]+","+column[7]+","+ \
            column[8]+","+column[9]+","+ \
            column[10]+","+column[11]+","+ \
            column[12]+","+column[13]+","+ \
            column[14]+","+column[15]+","+ \
            column[16]+","+column[17]+","+ \
            column[18]+","+column[19]+","+ \
            column[20]+","+column[21]+","+ \
            column[22]+","+column[23]+","+ \
            column[24]+","+column[25]+","+ \
            column[26]+","+column[27] + ")"\
            +" values('%s','%s','%d','%f','%d','%f',\
            '%f','%d','%f','%d','%f','%d','%f','%f','%d','%f',\
            '%d','%d','%d','%d','%f','%d','%d','%f',\
            '%d','%d','%d','%d')" \
            %(jobid, program_name, CNC, sum_IOBW_r, count_IOBW_r, average_IOBW_r, \
            sum_IOBW_w, count_IOBW_w, average_IOBW_w, count_IOBW_rw, \
            sum_IOPS_r, count_IOPS_r, average_IOPS_r, \
            sum_IOPS_w, count_IOPS_w, average_IOPS_w, count_IOPS_rw, count_IOPS_rw_all, \
            sum_MDS_o, count_MDS_o, average_MDS_o, \
            sum_MDS_c, count_MDS_c, average_MDS_c, count_MDS_oc, \
            max_PE_r, max_PE_w, file_all_count)
            cursor.execute(sql)
            conn.commit()
            cursor.close()
            save_job(jobid, job_file)
        except Exception as e:
            save_job(jobid, abnormal_job_file)
            print e
            conn.rollback()
    except Exception as e:
        print e
    conn.close()