Ignore:
Timestamp:
09/06/12 15:26:07 (12 years ago)
Author:
gpincka
Message:

gestion (a ameliorer) des echecs ncrcat + check automatiques et aleatoires + resolution bug sur outil visu avancement + suppr liste 'manquant' vides

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TOOLS/PACK_IPSL/launch_and_measureTime.sh

    r1863 r1864  
    3535               echo "./process_list.sh $newCmdToPrint" >> ${tasksListFile} 
    3636           ;; 
     37           x50) 
     38               # ne fait rien, la liste, au depart a concatener, a ete taree  
     39               # car echec de la concatenation   
     40           ;; 
    3741           *) 
    3842               echo "./process_list.sh $cmdToPrint" >> ${tasksListFile} 
     
    6165  
    6266   done 
    63    IFS=$old_IFS     # rétablissement du séparateur de champ par défaut      
     67   IFS=$old_IFS     # rétablissement du séparateur de champ par défaut 
     68    
     69   # Il peut arriver que 2 listes soient identiques, on empeche ce cas 
     70   cat ${tasksListFile} | sort | uniq > taskFile.txt 
     71   cat taskFile.txt > ${tasksListFile}   
    6472 
    6573} 
     
    172180} 
    173181 
     182export RANDOM=$$ # random seed 
     183function gives_random_number 
     184{ 
     185   lim=$1 
     186   bit=-1 
     187   let "bit = RANDOM % $lim" 
     188   bit=$(( $bit + 1 )) # nb entre 1 et $limit 
     189   echo $bit 
     190} 
     191 
    174192########## batch directives : begin ########## 
    175193#MSUB -r pack_ipsl          # Nom du job                 
     
    206224export output="${progressDir}/packOutput__try__${numCurrentTry}__instance__${numNewInstance}.log" 
    207225export reportFile="${progressDir}/report__try__${numCurrentTry}__instance__${numNewInstance}.log" 
    208  
     226export checkFile="${progressDir}/check__try__${numCurrentTry}__instance__${numNewInstance}.log" 
     227export checkFileTmp="checkTmp__try__${numCurrentTry}__instance__${numNewInstance}.txt" 
    209228 
    210229export noInterruptFile="${progressDir}/noInterrupt__try__${numCurrentTry}__instance__${numNewInstance}.txt" 
     
    349368update_tasks_list $nextInputCmd $output $inputCmd 
    350369 
     370# Verifications sur qq listes (dont le traitement semble correct) : 
     371# ---------------------------------------------------------------------------------------- 
     372if [ "x${nbListsToCheck}" == "x" ] 
     373then 
     374    echo "nbre de listes a checker absent" >> $checkFile 
     375    echo "nbre de listes a checker absent" >> $badFailureFile 
     376    exit 1 
     377fi 
     378> $checkFileTmp 
     379# ensemble des listes concatenees correctement 
     380set_of_good_lists=`cat $output | grep -e '^#executed by process' | awk '{ if ($9==0){print $12} }' | grep "output_ncrcat" ` 
     381 
     382# envoi des cmds de check dans fichier tmp 
     383for lst in $set_of_good_lists 
     384do 
     385   echo "./check_ncrcat_list.sh $lst" >> $checkFileTmp 
     386done 
     387 
     388# nombre de listes concatenees correctement 
     389nb_of_good_lists=`cat $checkFileTmp | wc -l ` 
     390 
     391# le nb de listes a checker ne peut exceder le nb de listes disponibles pour le check 
     392if [ $nbListsToCheck -ge $nb_of_good_lists ] 
     393then 
     394    nbListsToCheck=$nb_of_good_lists 
     395fi 
     396nbLstToCheck_tmp=$nbListsToCheck 
     397 
     398while [ $nbLstToCheck_tmp -gt 0 ] 
     399do 
     400    random_number=$( gives_random_number $nbLstToCheck_tmp ) # nb aleatoire entre 1 et $nbLstToCheck_tmp 
     401    checkCmd=`sed -n "${random_number}p" $checkFileTmp ` 
     402    $checkCmd # on envoie la cmd de check 
     403    resCmd=$? 
     404    if [ "x${resCmd}" != "x0" ] 
     405    then 
     406        echo "$checkCmd ==> not OK ==> stop everything." >> $checkFile 
     407        echo "$checkCmd ==> not OK ==> stop everything." >> $badFailureFile 
     408        # exit 1 # a retablir 
     409    else 
     410        echo "$checkCmd ==> OK" >> $checkFile 
     411    fi 
     412    sed -i "${random_number}d" $checkFileTmp # on retire la cmd qui vient d'etre effectuee du fichier tmp 
     413    nbLstToCheck_tmp=$(( $nbLstToCheck_tmp - 1 )) 
     414done 
     415 
     416 
     417rm $checkFileTmp 
     418# ----- Fin verif ------------------------------------------------------------------------ 
     419 
    351420echo "no interruption has occured" > ${noInterruptFile} 
     421 
     422# exit 0 # a virer 
    352423 
    353424# Tout s'est bien passe 
    354425# ---------------------- 
    355426everythingOK=`cat $nextInputCmd | wc -l ` 
    356 if [ "x${everythingOK}" == "x0"] 
     427if [ "x${everythingOK}" == "x0" ] 
    357428then 
    358429    echo "Tout s'est fini correctement" >> $badFailureFile 
    359     exit 1 
     430    exit 0 
    360431fi 
    361432 
Note: See TracChangeset for help on using the changeset viewer.