Cleaned up some code, added some comments. Released as 2.60.
This commit is contained in:
		
							parent
							
								
									7df68e7658
								
							
						
					
					
						commit
						efd6f72a5e
					
				
							
								
								
									
										36
									
								
								ppss
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								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 <file> -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." | ||||
| @ -1509,7 +1518,6 @@ start_single_worker () { | ||||
|     # the listener process to execute a 'worker' on this | ||||
|     # item, using the 'commando' function. | ||||
|     #  | ||||
| 
 | ||||
|     get_item | ||||
|     ERROR=$? | ||||
|     if [ ! "$ERROR" == "0" ] | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| #!/bin/bash | ||||
| 
 | ||||
| DEBUG="$1" | ||||
| VERSION="2.60b2" | ||||
| VERSION="2.60" | ||||
| TMP_DIR="ppss" | ||||
| PPSS=./ppss | ||||
| PPSS_DIR=ppss_dir | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user