#!/bin/bash                                                                                                                                                                                                                                                       
echo "CURRENT DIR is " `pwd`
echo "Checking status "

TIMEOUT=180
COUNT=0
function update_status
{
   STATUS=`pegasus-status --noqueue | tail -1 | sed 's/[:\(\)]/ /g'| awk '{print $5}'`
}

sleep 1m
update_status

echo "#" STATUS is "$STATUS"

while [ "$STATUS" = "Running" -o "$STATUS" = "" -o "$STATUS" = "Unknown"  ] ; do 
    if [ $COUNT -ge $TIMEOUT ]; then
	echo "Reached TIMEOUT of $TIMEOUT. Calling pegasus-remove"
	pegasus-remove `pwd`
	STATUS=TIMEOUT
	sleep 1m
	break;
    fi
    ((COUNT++))
    sleep 1m
    update_status
    echo "#" STATUS is "$STATUS"
done

if [ "$STATUS" = "Success" ]; then
    echo "*** Workflow finished succesfully ***"
    exit 0
else
    echo "*** Workflow failed ***"
    echo "Running Pegasus analyzer"
    pegasus-analyzer
    exit 1
fi
