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)
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()