2 # Solexa Pipeline "Listener". Checks for finished.txt in each main directory of the pipeline
5 #exptrackmainsc="$HOME/EXPTRACK/exp_track_main.py"
6 exptrackmainsc="exp_track_main.py"
9 runfolder=`echo $fullpath | sed -e 's/^.*\///'`
12 ## Make sure we find the Firecrest folder, then check "Makefile" in the 3 directories
13 firecrestdir=`ls $fullpath/Data | grep "^C1-$tocycle.*_Firecrest.*"`
14 countdirs=`ls $fullpath/Data | grep -c "^C1-$tocycle.*_Firecrest.*"`
15 if [ $countdirs == 1 ]
17 echo "" ## ok. firecrest folder '$firecrestdir' found"
19 if [ $countdirs -gt 1 ]
21 echo "ERROR: Found too many ($countdirs) firecrest directories. You need to be more specific. Found:"
24 ## python $exptrackmainsc updsts $fcid $runfolder 3 ERROR:_Need_Specific_Firecrest_Dir
27 echo "MPListener ERROR: Firecrest directory NOT FOUND."
28 ## python $exptrackmainsc updsts $fcid $runfolder 3 ERROR:_Firecrest_Dir_Not_Found
34 #firecrestdir=`ls Data | grep C1.*_Firecrest.*_encode`
35 # firecrestdir=`ls Data | grep C1.*_Firecrest.*_*`
36 # if [ -d Data/$firecrestdir ]
37 # then echo "firecrest folder '$firecrestdir' found"
38 # else echo "firecrest folder '$firecrestdir' NOT found. can not check further"
41 # ---------------------- Check for finished.txt in each main directory of the pipeline ------------
42 firecrestfinished=$fullpath/Data/$firecrestdir/finished.txt
43 bustfinished=$fullpath/Data/$firecrestdir/Bustard*_*/finished.txt
44 gerfinished=$fullpath/Data/$firecrestdir/Bustard*_*/GERALD_*/finished.txt
45 # Wait for 48 hours max
46 timeremain=`expr 60 \* 60 \* 72`
49 ## ---- Wait for Firecrest -----
50 while [ ! -f $firecrestfinished ] && [ $timeremain -gt 0 ]
52 #echo "wating $interval secs more to check for firecrestfinished ($timeremain secs left)"
53 sleep $(( $interval ))
54 timeremain=`expr $timeremain - $interval`
57 if [ $timeremain -gt 0 ]
59 echo "Firecrest finished at `date`"
60 python $exptrackmainsc updsts $fcid $runfolder 1 Firecrest_finished
62 echo "Script time expired while waiting for Firecrest to finish."
63 python $exptrackmainsc updsts $fcid $runfolder 2 Script_time_expired_during_Firecrest
66 ## -------- Wait for Bustard ------
67 while [ ! -f $bustfinished ] && [ $timeremain -gt 0 ]
69 #echo "wating $interval secs more to check for bustfinished ($timeremain secs left)"
70 sleep $(( $interval ))
71 timeremain=`expr $timeremain - $interval`
74 if [ $timeremain -gt 0 ]
76 echo "Bustard finished at `date`"
77 python $exptrackmainsc updsts $fcid $runfolder 1 Bustard_finished
79 echo "Script time expired while waiting for Bustard to finish."
80 python $exptrackmainsc updsts $fcid $runfolder 2 Script_time_expired_during_Bustard
83 ## -------- Wait for Gerald ------
84 while [ ! -f $gerfinished ] && [ $timeremain -gt 0 ]
86 #echo "wating $interval secs more to check for $gerfinished ($timeremain secs left)"
87 sleep $(( $interval ))
88 timeremain=`expr $timeremain - $interval`
92 if [ $timeremain -gt 0 ]
94 echo "Gerald finished at `date`"
95 python $exptrackmainsc updsts $fcid $runfolder 3 Gerald_finished
96 echo "Finished LISTENING TO SOLEXA PIPELINE ..."
97 echo "Starting DATA COLLECTION PHASE ..."
98 echo ".. here CollectData starts. Will run from the 'runner' bot."
99 ./MPCollectData $fcid $fullpath
101 echo "Script time expired while waiting for Gerald to finish."
102 python $exptrackmainsc updsts $fcid $runfolder 2 Script_time_expired_during_Gerald
105 echo "exiting MPListner .."
108 ## ---------------------------------------------------------------------------------