diff options
Diffstat (limited to 'dgbuilder/start')
-rwxr-xr-x | dgbuilder/start | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/dgbuilder/start b/dgbuilder/start new file mode 100755 index 00000000..4d3f9f5e --- /dev/null +++ b/dgbuilder/start @@ -0,0 +1,71 @@ +releaseDir="$1" +if [ "$#" != "1" ] +then + echo "Usage: $0 releaseDirName" + exit +fi +echo "ReleaseDir:$releaseDir" +export PROJECT_HOME=`pwd` +tbold=$(tput setf 3) +bold=$(tput setf 2) +bold1=$(tput setf 2) +offbold=$(tput rmso;tput sgr0) + +function pad { + #echo "1 is $1 2 is $2" + if [ "$1" == "" ] + then + $1 = ""; + fi + let count=0 + curr_len=`expr length "$1"` + let space_length=$2-$curr_len + spaces="" + while [ $count -lt $space_length ] + do + spaces="$spaces " + let count=$count+1 + done + echo "$1$spaces" +} + +function isRunning { + echo $(curl -I "$1" 2>/dev/null|head -1|tail -1|awk '{print $2}') +} + +if [ -e "releases/${releaseDir}/customSettings.js" ] +then + pid=$(cat releases/$releaseDir/logs/process_pid 2>/dev/null) + port=$(cat releases/$releaseDir/customSettings.js|grep uiPort|sed -e 's/[, ]//g'|cut -d: -f2 ) + count=$(ps -p$pid 2>/dev/null|grep -v PID|wc -l) + if [ "$count" != "0" ] + then + echo "For Release \"$releaseDir\" - http://localhost:$port" + echo "********ALREADY RUNNING PID:$pid *******" + else + pid_listening_on_port=$(netstat -upltn 2>/dev/null|grep -w $port|awk '{print $NF}'|cut -d'/' -f1) + if [ "$pid_listening_on_port" != "" ] + then + if [ "$pid_listening_on_port" != "$pid" ] + then + echo "port $port is already in use by other process" + ps -p $pid_listening_on_port + else + echo "Process is already running."; + fi + exit; + fi + node red.js --settings releases/${releaseDir}/customSettings.js + process_pid="$!" + echo $process_pid >releases/$releaseDir/logs/process_pid + port=$(cat releases/${releaseDir}/customSettings.js|grep uiPort|sed -e 's/[, ]//g'|cut -d: -f2) + echo "For Release \"$releaseDir\" ${urlIp}:$port --- STARTED PID:$process_pid" + if [ "${releaseDir}" != "" ] + then + sleep 3 + ./show_status|grep -w ${releaseDir} + fi + fi +else + echo "Directory ${releaseDir} is not setup. Use the createReleaseDir.sh script to setup the directory." +fi |