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 |
26 |
|
dataset="XXX" |
27 |
|
startTime=$(date +%s) |
28 |
|
nowTime=$(date +%s); duration=$(($nowTime - $startTime)) |
29 |
< |
format='-format "%d " ClusterId -format "%s " Cmd -format "%s \n" Args' |
32 |
< |
jobs=`condor_q -global $USER $format | grep $dataset | grep downloadFiles.sh | wc -l` |
33 |
< |
#jobs=`condor_q -global $USER | grep downloadFiles.sh | wc -l` |
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 "" |
58 |
|
dataset=`echo $line | tr -s ' ' | cut -d ' ' -f 3` |
59 |
|
targetDir=`echo $line | tr -s ' ' | cut -d ' ' -f 4` |
60 |
|
|
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 |
< |
|
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 $USER | grep downloadFiles.sh | wc -l` |
79 |
< |
jobs=`condor_q -global $USER $format | grep $dataset | grep downloadFiles.sh | wc -l` |
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 $USER | grep downloadFiles.sh | wc -l` |
84 |
< |
jobs=`condor_q -global $USER $format | grep $dataset | 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." |
87 |
|
removeZeroLengthFiles.sh $targetDir/$book/$dataset |
88 |
|
|
89 |
|
# finally make the corresponding catalog |
90 |
< |
echo "catalog.sh -ceg $version $dataset --retry $targetDir" |
91 |
< |
catalog.sh -ceg $version $dataset --retry $targetDir |
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 |
|
|