File indexing completed on 2024-04-06 11:56:36
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 help(){
0011 echo "*************************************************************************************"
0012 echo " "
0013 echo " Options:"
0014 echo "-h, --help show brief help"
0015 echo "-n, specify N mille jobs, default is Njobs = 429"
0016 echo "-m, run MILLE jobs only"
0017 echo "-p, run PEDE jobs only"
0018 echo "-mp, run MILLEPEDE jobs"
0019 echo "-email, specify you e-mail adress, or manually change it in the script"
0020 echo "-t, specify time of script sleeping, Example : -t 10m, -t 20s"
0021 echo ""
0022 echo " Run example: sh nextMPS.sh -n 429 -m -email uname@gmail.com -t 5m"
0023 echo " "
0024 echo "*************************************************************************************"
0025 exit 0
0026 }
0027
0028 if [ "$#" == "0" ]; then
0029 echo "This script needs arguments. Please use in this way:"
0030 help
0031 exit 1
0032 fi
0033
0034 Njobs=429
0035 echo "*************************************************************************************"
0036
0037 while (("$#")); do
0038 case "$1" in
0039 -h|--help)
0040 help
0041 exit 0
0042 ;;
0043 -n)
0044 shift
0045 if (("$#")); then
0046 Njobs=$1
0047 echo "You specified Njobs = $Njobs"
0048 else
0049 echo "Number of jobs is not specified. Please use -h, --help"
0050 exit 1
0051 fi
0052 shift
0053 ;;
0054 -m)
0055 if (("$#")); then
0056 echo "You will run MILLE jobs only"
0057 runstatus="m"
0058
0059 fi
0060 shift
0061 ;;
0062 -p)
0063 if (("$#")); then
0064 echo "You will run PEDE jobs only"
0065 runstatus="p"
0066
0067 fi
0068 shift
0069 ;;
0070 -mp)
0071 if (("$#")); then
0072 echo "You will run MILLEPEDE jobs"
0073 runstatus="mp"
0074
0075 fi
0076 shift
0077 ;;
0078 -email)
0079 shift
0080 if (("$#")); then
0081 echo "Job status will be send to the email adress: $1"
0082 email="$1"
0083
0084 else
0085 email="0"
0086 echo "You did not specified e-mail adress"
0087 fi
0088 shift
0089 ;;
0090
0091 -t)
0092 shift
0093 if (("$#")); then
0094 TimeSleep=$1
0095 time_flag="spec"
0096 echo "You specified time script sleeping = $1"
0097 else
0098 echo "TimeSleep is not specified. Please use -h, --help"
0099 exit 1
0100 fi
0101 shift
0102 ;;
0103
0104 *)
0105 break
0106 ;;
0107 esac
0108 done
0109
0110 echo "*************************************************************************************"
0111 if [ "$runstatus" = "m" ] || [ "$runstatus" = "mp" ]; then
0112 if [ ! -f nextMPS.log ]; then
0113 echo "nextMPS.log will be created"
0114 else
0115 rm nextMPS.log
0116 echo "Old nextMPS.log file removed"
0117 fi
0118 fi
0119
0120 TESTJOBS(){
0121
0122
0123 while [ "$(mps_stat.py | grep OK | wc -l)" != "$Njobs" ]
0124 do
0125 if [ "$time_flag" = "spec" ]; then
0126 sleep $TimeSleep
0127 else
0128 sleep 10m
0129 fi
0130
0131 echo "Fetch DONE jobs"
0132 mps_fetch.py
0133
0134 if [ $(mps_stat.py | grep FAIL | wc -l) -ne 0 ];
0135 then
0136 Njfails=$(echo "$(mps_stat.py | grep FAIL | wc -l)")
0137 echo "Njob fails = $Njfails"
0138 echo "Retry failed jobs"
0139 mps_retry.pl FAIL
0140 mps_fire.py $Njfails
0141 else
0142 NjOK=$(mps_stat.py | grep OK | wc -l)
0143 echo " Checking jobs . Njobs OK = $NjOK"
0144
0145 fi
0146 done
0147 }
0148
0149
0150 MILLERUN(){
0151
0152 ./setup_align.pl
0153
0154
0155 mps_fire.py $Njobs
0156
0157
0158 TESTJOBS
0159
0160 if [ "$email" != "0" ]; then
0161 (echo "Subject: MILLE jobs ready"; echo "Your MILLE jobs are ready. Njobs mille OK = $NjOK";) | sendmail $email
0162 else echo "You did not setup e-mail"
0163 fi
0164
0165 }
0166
0167 PEDERUN(){
0168 mps_fire.py -m
0169 Njobs=$[Njobs+1]
0170 TESTJOBS
0171
0172 if [ "$email" != "0" ]; then
0173 (echo "Subject: PEDE jobs ready"; echo "Your PEDE jobs are ready. Njobs pede OK = 1";) | sendmail $email
0174 else echo "You did not setup e-mail"
0175 fi
0176
0177 }
0178
0179 MILLEPEDERUN() {
0180 MILLERUN
0181 PEDERUN
0182 }
0183
0184
0185 if [ "$runstatus" = "m" ]; then
0186 echo "MILLE jobs will be run"
0187 MILLERUN >> nextMPS.log
0188 else
0189 if [ "$runstatus" = "p" ]; then
0190 echo "PEDE jobs will be run"
0191 PEDERUN >> nextMPS.log
0192 else
0193 if [ "$runstatus" = "mp" ]; then
0194 echo "MILLEPEDE jobs will be run"
0195 MILLEPEDERUN >> nextMPS.log
0196 fi
0197 fi
0198
0199 fi
0200
0201 echo "THE END"
0202