00001
00002
00003 import os
00004 import sys
00005
00006 if(len(sys.argv)<3):
00007 print("usage: sub_remain.py tag cmd [queue]")
00008 print("example: sub_remain.py job_merge exe offline")
00009 print("example: sub_remain.py job_merge linebyline offline")
00010 sys.exit()
00011 else:
00012 tagname = str(sys.argv[1])
00013 cmdname = str(sys.argv[2])
00014
00015 if(len(sys.argv)==4):
00016 queue = str(sys.argv[3])
00017 else:
00018 queue = "offline"
00019
00020 dirList=os.listdir("./")
00021 for fname in dirList:
00022 if(fname.find(tagname)>-1):
00023 if(fname.find(".pbs")>-1):
00024 fname = fname.split(".pbs")[0]
00025 if(cmdname=="exe"):
00026 os.system("$mysub " + queue + " ./" + fname)
00027 elif(cmdname=="linebyline"):
00028 tempfile = open(fname)
00029 for line in tempfile:
00030 os.system("$mysub " + queue + " " + line)
00031 tempfile.close()
00032 os.system("rm " + fname)
00033 os.system("rm " + fname + ".pbs")
00034 else:
00035 os.system("$mysub " + queue + " " + cmdname + " " + fname)
00036 if(fname.find(".err")>-1 and os.path.exists(fname)):
00037 ftemp = open(fname,"r")
00038 for ltemp in ftemp:
00039 if(ltemp.find("segmentation violation")>-1 or ltemp.find("bus error")>-1 or ltemp.find("boss.exe: command not found")>-1 or ltemp.find("/var/spool/pbs")>-1):
00040 fname = fname.split(".err")[0]
00041 if(cmdname=="exe"):
00042 os.system("$mysub " + queue + " ./" + fname)
00043 elif(cmdname=="linebyline"):
00044 tempfile = open(fname)
00045 for line in tempfile:
00046 os.system("$mysub " + queue + " " + line)
00047 os.system("rm " + fname)
00048 os.system("rm " + fname + ".err")
00049 os.system("rm " + fname + ".log")
00050 else:
00051 os.system("$mysub " + queue + " " + cmdname + " " + fname)
00052 break
00053
00054
00055
00056