diff options
-rw-r--r-- | .app/lib/app-conf | 4 | ||||
-rwxr-xr-x[-rw-r--r--] | .app/lib/default-method | 22 | ||||
-rwxr-xr-x | app | 4 |
3 files changed, 24 insertions, 6 deletions
diff --git a/.app/lib/app-conf b/.app/lib/app-conf index b1b06c0..3f2863b 100644 --- a/.app/lib/app-conf +++ b/.app/lib/app-conf @@ -44,10 +44,10 @@ get_conf_in_group() { local BASEDIR=$1 local name=$2 local instance=$3 - local prefix=$1 + local group=$4 get_conf_all "$BASEDIR" "$name" "$instance" | \ - sed -n "s,^[ ]*${prefix}\.\([._a-zA-Z]*\)=\(.*\)$,\1=\2,p" + sed -n "s,^[ ]*${group}\.\([._a-zA-Z]*\)=\(.*\)$,\1=\2,p" } assert_key() { diff --git a/.app/lib/default-method b/.app/lib/default-method index 2313f61..e718849 100644..100755 --- a/.app/lib/default-method +++ b/.app/lib/default-method @@ -1,17 +1,35 @@ #!/bin/bash +set -e + PID_FILE=$APPSH_BASEDIR/.app/var/pid/$name-$instance.pid -. ./app-conf +. $APPSH_BASEDIR/.app/lib/app-conf bin=`get_conf $APPSH_BASEDIR $APPSH_NAME $APPSH_INSTANCE app.bin` +if [ -z "$bin" ] +then + echo "Missing required configuration: app.bin." >&2 + exit 1 +fi + +if [ ! -r "$bin" ] +then + echo "No such file: $bin" >&2 + exit 1 +fi + +chmod +x "$bin" + case "$APPSH_METHOD" in start) set -x $bin & ret=$? - echo $! > $PID_FILE + pid=$! + echo "Application launched with PID=$pid" + echo $pid > $PID_FILE ;; *) exit 1 @@ -321,10 +321,10 @@ run_method() { exit 1 fi - e=`get_conf_in_group $BASEDIR $name $instance env` + set -x + e="`get_conf_in_group $BASEDIR $name $instance env`" set +e - set -x env -i \ $e \ PATH=/bin:/usr/bin \ |