[Erp5-report] r11448 - /erp5/trunk/utils/oood/oood.rc

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Nov 22 19:01:36 CET 2006


Author: kevin
Date: Wed Nov 22 19:01:34 2006
New Revision: 11448

URL: http://svn.erp5.org?rev=11448&view=rev
Log:
Add necessary code to let the service start, stop and restart

Modified:
    erp5/trunk/utils/oood/oood.rc

Modified: erp5/trunk/utils/oood/oood.rc
URL: http://svn.erp5.org/erp5/trunk/utils/oood/oood.rc?rev=11448&r1=11447&r2=11448&view=diff
==============================================================================
--- erp5/trunk/utils/oood/oood.rc (original)
+++ erp5/trunk/utils/oood/oood.rc Wed Nov 22 19:01:34 2006
@@ -7,43 +7,89 @@
 # Source function library.
 . /etc/rc.d/init.d/functions
 
-name="oood"
+NAME="oood"
 
-RETVAL=0
+#LOCKDIR=/var/lock/subsys
+
+HOME=/var/lib/oood
+PIDDIR=/var/run/oood
+LOCKFILE=$PIDDIR/server_pid.lock
+PIDFILE=$LOCKFILE
+
 
 start() {
-    echo -n "Starting $name: "
-    python /var/lib/oood/start.py
-    python /var/lib/oood/runserw.py
-#    return 1
+  if [ -f $LOCKFILE ] ; then
+    gprintf "Another instance of %s is running (lockfile exists)." "$NAME"
+    echo_failure
+    echo
+    exit 4
+  fi
+
+  gprintf "Starting %s: " "$NAME"
+  # Initialize the Pool
+  python $HOME/start.py --init > /dev/null 2>&1 /dev/null
+  # Start the server in the background
+  python $HOME/runserw.py > /dev/null &
+  sleep 20
+  PID=`cat $PIDFILE`
+  echo $PID
+  if [ $PID ]; then
+    #touch $LOCKDIR/oood
+    echo_success
+  else
+    gprintf "%s is not running (no pid file found)." "$NAME"
+    killproc "python $HOME/runserw.py"
+    python $HOME/start.py --flush > /dev/null 2>&1 /dev/null
+    echo_failure
+  fi
+  echo
 }
 
-# stop() {
-#     echo -n "Stopping $name: "
-#     killall oood
-#    return 1
-# }
+
+stop() {
+  if [ ! -f $LOCKFILE ] ; then
+    gprintf "%s is not running (no lockfile found)." "$NAME"
+    echo_failure
+  else
+    gprintf "Stopping %s daemon: " "$NAME"
+    killproc "python $HOME/runserw.py" && echo_success || echo_failure
+  fi
+  # Clean up in any case
+  rm -f $LOCKFILE
+  python $HOME/start.py --flush > /dev/null 2>&1 /dev/null
+  echo
+}
+
+
+status() {
+  python $HOME/start.py --status
+}
+
 
 case "$1" in
   start)
-      start
-      ;;
+    touch /var/lock/subsys/$NAME
+    start
+    ;;
 
-#   stop)
-#       stop
-#       ;;
-#
-#   restart)
-#       stop
-#       start
-#       ;;
+  stop)
+    stop
+    rm -f /var/lock/subsys/$NAME
+    ;;
 
+  restart)
+    stop
+    start
+    ;;
+
+  status)
+    status
+    ;;
   *)
 
-#      echo "Usage: $0 {start|stop|restart}"
-      echo "Usage: $0 {start}"
-      exit 1
+  gprintf "Usage: %s\n" "$0 {start|stop|restart|status}"
+  exit 1
 
 esac
 
-exit $REVAL
+exit




More information about the Erp5-report mailing list