aboutsummaryrefslogtreecommitdiff
path: root/libexec/app-operate
diff options
context:
space:
mode:
Diffstat (limited to 'libexec/app-operate')
-rwxr-xr-xlibexec/app-operate68
1 files changed, 28 insertions, 40 deletions
diff --git a/libexec/app-operate b/libexec/app-operate
index 8e4ecac..007948c 100755
--- a/libexec/app-operate
+++ b/libexec/app-operate
@@ -8,43 +8,31 @@ APPSH_HOME=$(cd $(dirname "$0")/.. && pwd)
. $APPSH_HOME/lib/common
# HEADER END
-method_operate() {
- local name="$1"; shift
- local instance="$1"; shift
- local method="$1"
-
- if [ $# -gt 0 ]
- then
- shift
- fi
-
- bin=`$APPSH_HOME/bin/app-cat-conf -f $apps/$name/$instance/current/etc/app.conf -g app -k method | cut -f 2 -d =`
-
- if [ -z "$bin" ]
- then
- bin=$APPSH_HOME/.app/lib/pid-method
- fi
-
- if [ ! -x "$name/$instance/current/$bin" ]
- then
- echo "Invalid executable: $bin" >&2
- exit 1
- fi
-
- case "$method" in
- start) run_app "$name" "$instance" "$bin" "start" "$@" ;;
- stop) run_app "$name" "$instance" "$bin" "stop" "$@" ;;
- status) run_app "$name" "$instance" "$bin" "status" "$@" ;;
- restart) run_app "$name" "$instance" "$bin" "restart" "$@" ;;
- run) run_app "$name" "$instance" "$bin" "run" "$@" ;;
- *)
- if [ -z "$method" ]
- then
- method_operate_usage
- else
- method_operate_usage "Unknown method $method"
- fi
- ;;
- esac
- exit $?
-}
+assert_is_app
+
+method="$1"
+
+bin=`app-conf get app.method`
+bin=${bin-$APPSH_HOME/.app/libexec/app-method-pid}
+
+if [ ! -x "current/$bin" ]
+then
+ echo "Invalid executable: $bin" >&2
+ exit 1
+fi
+
+case "$method" in
+ start) run_app "$name" "$instance" "$bin" "start" "$@" ;;
+ stop) run_app "$name" "$instance" "$bin" "stop" "$@" ;;
+ status) run_app "$name" "$instance" "$bin" "status" "$@" ;;
+ restart) run_app "$name" "$instance" "$bin" "restart" "$@" ;;
+ run) run_app "$name" "$instance" "$bin" "run" "$@" ;;
+ *)
+ if [ -z "$method" ]
+ then
+ method_operate_usage
+ else
+ method_operate_usage "Unknown method $method"
+ fi
+ ;;
+esac