Django (socket access) – init startup script for Gentoo


#!/sbin/runscript                                                     

opts="${opts} stop start"

depend() {
        need net 
        use dns logger netmount
        after ntpd
}

DJANGO_SITE="serviceMgmt"
SITES_PATH=/www/app/web
RUNFILES_PATH=$SITES_PATH/run
RUN_AS=django
PYTHON_EGG_CACHE=/tmp

export PYTHON_EGG_CACHE

start() {
        ebegin "Starting django-fgci"
        chmod -R 777 $SITES_PATH
        if [ -f $RUNFILES_PATH/$DJANGO_SITE.pid ]; then
                ewarn "Django already running ($RUNFILES_PATH/$DJANGO_SITE.pid)"
        else
                start-stop-daemon --start \
                --pidfile $RUNFILES_PATH/$DJANGO_SITE.pid \
                --chuid $RUN_AS \
                --exec /usr/bin/python $SITES_PATH/$DJANGO_SITE/manage.py runfcgi \
                socket=$RUNFILES_PATH/$DJANGO_SITE.socket \
                pidfile=$RUNFILES_PATH/$DJANGO_SITE.pid
                chmod 777 $RUNFILES_PATH/$DJANGO_SITE.socket
                einfo "Django started"
        fi
        eend $?
}

stop() {
        ebegin "Stopping django-fgci"
        VERBOSE_NAME="$DJANGO_SITE"
        start-stop-daemon --stop \
        --pidfile $RUNFILES_PATH/$DJANGO_SITE.pid \
        && einfo "Django stopped" \
        || ewarn "Django not running"
        if [ -f $RUNFILES_PATH/$DJANGO_SITE.pid ]; then
                rm $RUNFILES_PATH/$DJANGO_SITE.pid
                rm $RUNFILES_PATH/$DJANGO_SITE.socket
        fi
        eend $?
}

Leave a Reply