Kaynağa Gözat

add python launcher shell

zhzhenqin 5 yıl önce
ebeveyn
işleme
19561cec17
2 değiştirilmiş dosya ile 172 ekleme ve 0 silme
  1. 50 0
      python/fetch.sh
  2. 122 0
      python/launcher.sh

+ 50 - 0
python/fetch.sh

@@ -0,0 +1,50 @@
+#!/usr/bin/env bash
+
+unset CDPATH
+bin=`dirname "$0"`
+bin=`cd "$bin"; pwd`
+
+
+cygwin=false
+case "`uname`" in
+CYGWIN*) cygwin=true;;
+esac
+
+APP_HOME=$bin
+
+# some Java parameters
+PYTHON=`which python 2>/dev/null`
+if [[ $PY_HOME != "" ]]; then
+    PYTHON=$PY_HOME/bin/python
+fi
+if test -z "$PYTHON"; then
+    echo "No python found in the PATH. Please install Python and set PY_HOME."
+    exit 1
+fi
+
+ 
+# restore ordinary behaviour
+# unset IFS
+
+export PYTHONPATH=$APP_HOME
+# run it
+
+case $1 in
+    'zhishu' )
+        CLASS=yiis/data/neteasy_zhishu_loader.py
+        "$PYTHON" $APP_HOME/$CLASS "$@"
+        ;;
+
+    'stock' )
+        echo "开始抓取。。。"
+        CLASS=yiis/data/neteasy_stock_loader.py
+        "$PYTHON" $APP_HOME/$CLASS "$@"
+        echo "数据抓取结束。。。"
+        echo "数据导入到数据库。"
+        CLASS=yiis/data/process_stock_data.py
+        "$PYTHON" $APP_HOME/$CLASS db
+        echo "导入完成。"
+        ;;
+     *)
+echo 'usage: `basename $0` {zhishu|stock}'
+esac

+ 122 - 0
python/launcher.sh

@@ -0,0 +1,122 @@
+#!/usr/bin/env bash
+
+unset CDPATH
+bin=`dirname "$0"`
+bin=`cd "$bin"; pwd`
+
+
+cygwin=false
+case "`uname`" in
+CYGWIN*) cygwin=true;;
+esac
+
+APP_HOME=$bin
+
+# some Java parameters
+PYTHON=`which python 2>/dev/null`
+if [[ $PY_HOME != "" ]]; then
+    PYTHON=$PY_HOME/bin/python
+fi
+if test -z "$PYTHON"; then
+    echo "No python found in the PATH. Please install Python and set PY_HOME."
+    exit 1
+fi
+
+DEF_APP_NAME=yiistock-server
+ 
+# restore ordinary behaviour
+# unset IFS
+CLASS=yiis/manage.py
+
+export PYTHONPATH=$APP_HOME
+# run it
+
+COMMAND=$1
+PID_DIR="$APP_HOME/start.d"
+PID_NAME="$DEF_APP_NAME.pid"
+PID_FILE="$PID_DIR/$PID_NAME"
+
+start(){
+  mkdir -p "$PID_DIR"
+  if [ -f "$PID_FILE" ]; then
+    echo $PID_FILE existsed, pid: `cat $PID_FILE`
+    if kill -0 `cat "$PID_FILE"` > /dev/null 2>&1; then
+      echo $DEF_APP_NAME running as process `cat $PID_FILE`.  Stop it first.
+      exit 1
+    fi
+  fi
+  echo "starting $DEF_APP_NAME ..."
+  if "$PYTHON" $APP_HOME/$CLASS "$@" >/dev/null 2>&1 &
+  then
+    echo $! > "$PID_FILE"
+    echo "$DEF_APP_NAME has started! "
+  else
+    echo "$DEF_APP_NAME has start Failed"
+  fi
+}
+
+run(){
+  echo "run $DEF_APP_NAME"
+  exec "$PYTHON" $APP_HOME/$CLASS "$@"
+}
+
+stop(){
+  if [ -f "$PID_FILE" ]; then
+    if kill `cat $PID_FILE` > /dev/null 2>&1; then
+      echo "stop $DEF_APP_NAME ..."
+      kill `cat $PID_FILE`
+			rm $PID_FILE
+    else
+      echo No $DEF_APP_NAME to stop
+    fi
+  else
+    echo No $DEF_APP_NAME to stop
+  fi
+}
+
+status(){
+  mkdir -p "$PID_DIR"
+  if [ -f "$PID_FILE" ]; then
+    echo $PID_FILE existsed, pid: `cat $PID_FILE`
+    if kill -0 `cat "$PID_FILE"` > /dev/null 2>&1;
+    then
+      echo $DEF_APP_NAME [`cat $PID_FILE`] is running.
+      exit 0
+    else
+      echo "$DEF_APP_NAME is not running"
+      exit 0
+    fi
+  fi
+}
+
+docommand() {
+  case "$COMMAND" in
+    'start')
+      start
+      ;;
+
+    'run')
+      run
+      ;;
+
+    'stop')
+      stop
+      ;;
+
+    'restart')
+      stop;
+      sleep 5
+      start;
+      ;;
+
+    'status')
+      status
+      ;;
+
+		*)
+		echo "usage: [start|run|stop|restart|status|log]"
+		;;
+    esac
+}
+docommand "$@"
+exit 0