Hello, I wonder if someone has created a "normal" initscript for Web2Py.

For the moment I manage with the following hack, but it is not elegant and I
would prefer something that integrates better with the rest of the system.

My hack:

start.sh ( in web2py directory ):

-------------------------

#!/bin/bash

exec /usr/bin/python /my/path/to/web2py/web2py.py -a mypassword -i 127.0.0.1
-p 8000

------------------------

In /etc/init.d the following file (copied from a lighttpd startup script):

------------------------

#!/bin/sh

PIDFILE=/my/path/to/web2py/httpserver.pid
HTTPD=/my/path/to/web2py/start.sh

PID=0
if [ -e $PIDFILE ]; then
    PID=`cat $PIDFILE`
    if [ "x" == "x$PID" ]; then
        PID=0
    fi
fi

case "$1" in
    start)
        if [ 0 -ne $PID ]; then
            running=`ps --pid $PID | grep $PID |wc -l`
            if [ $running ]; then
                echo "web2py is already running"
                exit 1
            fi

            echo "web2py does not appear to be running, but old PID file
exists. Removing..."
            rm $PIDFILE
            PID=0
        fi

        echo "Starting Web2Py..."
        $HTTPD > /dev/null 2>&1
        ;;
    stop)
        if [ 0 -eq $PID ]; then
            echo "Web2Py was not running"
            exit 1
        fi

        echo "Attempting to kill process $PID (Web2Py)"
        kill $PID
        tries=""
        while [ -e $PIDFILE ]; do
            if [ "x$tries" == "x.........." ]; then
                break
            fi
            sleep 2
            tries=".$tries"
        done
        if [ -e $PIDFILE ]; then
            echo "Unable to kill Web2Py in 10 attempts. Killing with -9
flag..."
            kill -9 $PID

-------------------


HTH somebody, but a regular init script would be so much better :)

Michele

Reply via email to