From efd6f72a5ecaa09136bf9a2d0dc8da1e192d3259 Mon Sep 17 00:00:00 2001 From: Louwrentius Date: Sat, 20 Mar 2010 22:25:07 +0000 Subject: [PATCH] Cleaned up some code, added some comments. Released as 2.60. --- ppss | 46 +++++++++++++++++++++++++++------------------- ppss-test.sh | 2 +- 2 files changed, 28 insertions(+), 20 deletions(-) diff --git a/ppss b/ppss index b711dec..e635213 100755 --- a/ppss +++ b/ppss @@ -25,7 +25,7 @@ trap 'kill_process' SIGINT # Setting some vars. SCRIPT_NAME="Distributed Parallel Processing Shell Script" -SCRIPT_VERSION="2.60b2" +SCRIPT_VERSION="2.60" # The first argument to this script can be a mode. MODES="node start config stop pause continue deploy status erase kill ec2" @@ -110,8 +110,8 @@ showusage_short () { echo echo "Examples:" echo " $0 -d /dir/with/some/files -c 'gzip '" - echo " $0 -d /dir/with/some/files -c 'gzip \"\$ITEM\"' -D 5" echo " $0 -d /dir/with/some/files -c 'cp \"\$ITEM\" /tmp' -p 2" + echo " $0 -f -c 'wget -q -P /destination/directory \"\$ITEM\"' -p 10" } showusage_normal () { @@ -335,9 +335,11 @@ exec_cmd () { return $STATUS } -# this function makes remote or local checking of existence of items transparent. does_file_exist () { + # + # this function makes remote or local checking of existence of items transparent. + # FILE="$1" `exec_cmd "ls -1 $FILE" >> /dev/null 2>&1` if [ "$?" == "0" ] @@ -350,6 +352,10 @@ does_file_exist () { check_for_interrupt () { + # + # PPSS can be interupted with a stop or pause command. + # + does_file_exist "$STOP_SIGNAL" if [ "$?" == "0" ] then @@ -373,7 +379,7 @@ check_for_interrupt () { cleanup () { - #log DEBUG "$FUNCNAME - Cleaning up all temp files and processes." + log DEBUG "$FUNCNAME - Cleaning up all temp files and processes." if [ -e "$FIFO" ] then @@ -676,8 +682,10 @@ expand_str () { log () { - # Type 'INFO' is logged to the screen + # + # Type 'DSPLY ERROR and WARN' is logged to the screen # Any other log-type is only logged to the logfile. + # TYPE="$1" MESG="$2" @@ -864,7 +872,6 @@ erase_ppss () { else log DSPLY "Aborting.." fi - sleep 1 } ec2_get_pending_nodes() { @@ -904,7 +911,6 @@ deploy () { -o ControlMaster=auto \ -o Cipher=blowfish \ -o ConnectTimeout=5 " - ERROR=0 set_error () { @@ -927,8 +933,6 @@ deploy () { KEY=`echo $SSH_KEY | cut -d " " -f 2` - sleep 1 - ssh -q $SSH_OPTS_NODE $SSH_KEY $USER@$NODE "cd ~ && mkdir $PPSS_HOME_DIR >> /dev/null 2>&1" scp -q $SSH_OPTS_NODE $SSH_KEY $0 $USER@$NODE:~/$PPSS_HOME_DIR set_error $? @@ -1233,8 +1237,6 @@ escape_item () { sed s/\(/\\\\\\\\\\(/g | \ sed s/\)/\\\\\\\\\\)/g ` } - #sed s/\\\`/\\\\\\\\\\\\\\\`/g | \ - #sed s/\\\//\\\\\\\\\\\\\\ /g | \ download_item () { @@ -1458,25 +1460,29 @@ get_item () { SIZE_OF_ARRAY="${#ARRAY[@]}" + # # Return error if the array is empty. + # if [ "$SIZE_OF_ARRAY" -le "0" ] then release_global_lock return 1 fi + # # This variable is used to walk thtough all array items. + # ARRAY_POINTER=`cat $ARRAY_POINTER_FILE` + # # Check if all items have been processed. + # if [ "$ARRAY_POINTER" -ge "$SIZE_OF_ARRAY" ] then release_global_lock - #echo -en "\033[1A" return 1 fi - # Select an item. ITEM="${ARRAY[$ARRAY_POINTER]}" if [ -z "$ITEM" ] then @@ -1492,6 +1498,9 @@ get_item () { then log DEBUG "Item $ITEM is locked." release_global_lock + # + # Recursion, get_ttem calls itself, until all items are done. + # get_item else log DEBUG "Got lock on $ITEM, processing." @@ -1504,12 +1513,11 @@ get_item () { start_single_worker () { - # - # This function sends an item to the fifo. This signals - # the listener process to execute a 'worker' on this - # item, using the 'commando' function. - # - + # + # This function sends an item to the fifo. This signals + # the listener process to execute a 'worker' on this + # item, using the 'commando' function. + # get_item ERROR=$? if [ ! "$ERROR" == "0" ] diff --git a/ppss-test.sh b/ppss-test.sh index 0da6b2c..c87e6eb 100755 --- a/ppss-test.sh +++ b/ppss-test.sh @@ -1,7 +1,7 @@ #!/bin/bash DEBUG="$1" -VERSION="2.60b2" +VERSION="2.60" TMP_DIR="ppss" PPSS=./ppss PPSS_DIR=ppss_dir