ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitProd/Processing/bin/download.sh
(Generate patch)

Comparing UserCode/MitProd/Processing/bin/download.sh (file contents):
Revision 1.1 by paus, Sun Dec 5 01:01:20 2010 UTC vs.
Revision 1.8 by paus, Sat Oct 22 13:07:04 2011 UTC

# Line 4 | Line 4
4   #---------------------------------------------------------------------------------------------------
5   H=`basename $0`
6   SAMPLE_LIST=$1
7 < MIT_LOCATION="/pnfs/cmsaf.mit.edu/t2bat/cms/store/user/paus"
8 < CERN_LOCATION="/castor/cern.ch/user/p/paus"
7 >
8 > # start next request
9 > remainingMax=0
10  
11   # health checks
12   if [ ".$1" == "." ]
# Line 22 | Line 23 | echo " ==== Download queue from $SAMPLE_
23   echo ""
24  
25   # check that queues are really empty
26 + dataset="XXX"
27   startTime=$(date +%s)
28   nowTime=$(date +%s); duration=$(($nowTime - $startTime))
29 < jobs=`condor_q -global cmsprod | grep downloadFiles.sh | wc -l`
30 < while [ "$jobs" != "0" ]
29 > jobs=`condor_q -global $USER -format "%d " ClusterId -format "%s " Cmd -format "%s \n" Args | grep $dataset | grep downloadFiles.sh | wc -l`
30 > while [ $jobs -gt $remainingMax ]
31   do
32    echo " waiting since  $duration sec  == condor queue has  $jobs jobs  left"; sleep 60; echo ""
33 <  jobs=`condor_q -global cmsprod | grep downloadFiles.sh | wc -l`
33 >  jobs=`condor_q -global $USER $format | grep $dataset | grep downloadFiles.sh | wc -l`
34 >  #jobs=`condor_q -global $USER | grep downloadFiles.sh | wc -l`
35    nowTime=$(date +%s); duration=$(($nowTime - $startTime))
36   done
37 < echo " Queues are empty ($jobs) Let's get started."
37 > echo " Queues are close to empty ($jobs) -- Let's get started."
38   echo ""
39  
40   # all right, ready to download
# Line 39 | Line 42 | nSamples=`cat $SAMPLE_LIST | wc -l | cut
42   i=1
43   while [ $i -le $nSamples ]
44   do
45 +  startTime=$(date +%s)
46  
47    line=`head -$i $SAMPLE_LIST | tail -1`
48    if [ "`echo $line | grep ^#`" != "" ]
# Line 48 | Line 52 | do
52    fi
53  
54    # define some quantities
55 +  baseDir=`echo $line | tr -s ' ' | cut -d ' ' -f 1`
56    book=`echo $line | tr -s ' ' | cut -d ' ' -f 2`
57    version=`basename $book`
58    dataset=`echo $line | tr -s ' ' | cut -d ' ' -f 3`
59 +  targetDir=`echo $line | tr -s ' ' | cut -d ' ' -f 4`
60  
61 <  #echo " downloadSample.sh $line"
62 <  mkdir -p /mnt/hadoop/cmsprod/$book/$dataset
61 >  
62 >  # stagein the sample if it is at CERN
63 >  if [ "`echo $baseDir | grep /castor/cern.ch`" != "" ]
64 >  then
65 >    echo "  ssh paus@lxplus.cern.ch ./stageSample.py --dataDir=$baseDir/$book/$dataset"
66 >    ssh paus@lxplus.cern.ch ./stageSample.py --dataDir=$baseDir/$book/$dataset
67 >  fi
68 >  
69 >  # download the sample
70 >  echo " downloadSample.sh $line"
71    downloadSample.sh $line
72    
73 +  # go into waiting loop
74    nowTime=$(date +%s); duration=$(($nowTime - $startTime))
75 <  jobs=`condor_q -global cmsprod | grep downloadFiles.sh | wc -l`
76 <  while [ "$jobs" != "0" ]
75 >  jobs=`condor_q -global $USER -format "%d " ClusterId -format "%s " Cmd -format "%s \n" Args | grep $dataset | grep downloadFiles.sh | wc -l`
76 >  while [ $jobs -gt $remainingMax ]
77    do
78      echo " waiting since  $duration sec  == condor queue has  $jobs jobs  left"; sleep 60; echo ""
79 <    jobs=`condor_q -global cmsprod | grep downloadFiles.sh | wc -l`
79 >    jobs=`condor_q -global $USER -format "%d " ClusterId -format "%s " Cmd -format "%s \n" Args | grep $dataset | grep downloadFiles.sh | wc -l`
80      nowTime=$(date +%s); duration=$(($nowTime - $startTime))
81    done
82    echo " Queues are empty ($jobs) --> cleaning up and making catalogs."
83    echo ""
84    
85    # remove zero length files
86 <  echo "removeZeroLengthFiles.sh /mnt/hadoop/cmsprod/$book/$dataset"
87 <  removeZeroLengthFiles.sh /mnt/hadoop/cmsprod/$book/$dataset
86 >  echo "removeZeroLengthFiles.sh $targetDir/$book/$dataset"
87 >  removeZeroLengthFiles.sh $targetDir/$book/$dataset
88    
89    # finally make the corresponding catalog
90 <  #echo "catalog.sh -ceg $version $dataset --retry /mnt/hadoop/cmsprod"
91 <  catalog.sh -ceg $version $dataset --retry /mnt/hadoop/cmsprod
90 >  if [ ${#version} == 3 ]
91 >  then
92 >    echo "catalog.sh -ceg $version $dataset --retry $targetDir"
93 >    catalog.sh -ceg $version $dataset --retry $targetDir
94 >  else
95 >    echo "This is not a normal dataset, make a simple catalog."
96 >    echo ""
97 >    list $targetDir/$book/$dataset > /tmp/list.$$
98 >    mkdir -p ~/catalog/t2mit/private/$book/$dataset
99 >    rm -f    ~/catalog/t2mit/private/$book/$dataset/Files
100 >    touch    ~/catalog/t2mit/private/$book/$dataset/Files
101 >    while read line
102 >    do
103 >      size=`echo $line | cut -d ' ' -f1`
104 >      file=`echo $line | cut -d ' ' -f2`
105 >      root -l -b -q $MIT_PROD_DIR/root/runSimpleFileCataloger.C\(\"$targetDir/$book/$dataset\",\"$file\"\) \
106 >          2> /dev/null | grep CATALOG >> ~/catalog/t2mit/private/$book/$dataset/Files
107 >    done < /tmp/list.$$
108 >    rm -f /tmp/list.$$
109 >  fi
110  
111    i=$(( $i+1 ))
112  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines