add support for db profiling, RT#5662
[freeside.git] / init.d / freeside-init
index 56733bd..4e58b32 100644 (file)
@@ -1,4 +1,4 @@
-#! /bin/sh
+#!/bin/sh
 #
 # chkconfig: 345 86 16
 # description: Freeside daemons
@@ -12,21 +12,32 @@ SELFSERVICE_MACHINES="%%%SELFSERVICE_MACHINES%%%"
 PATH="$PATH:/usr/local/bin"
 export PATH
 
+[ -r /etc/default/freeside ] && . /etc/default/freeside
+
 case "$1" in
   start)
         # Start daemons.
         echo -n "Starting freeside-queued: "
+        #perl -MDBIx::Profile /usr/local/bin/freeside-queued $QUEUED_USER
         freeside-queued $QUEUED_USER
         echo "done."
 
-        #echo -n "Starting freeside-sqlradius-radacctd: "
-        #freeside-sqlradius-radacctd $QUEUED_USER
-        #echo "done."
+        echo -n "Starting freeside-sqlradius-radacctd: "
+        freeside-sqlradius-radacctd $QUEUED_USER
+        echo "done."
 
         echo -n "Starting freeside-prepaidd: "
         freeside-prepaidd $QUEUED_USER
         echo "done."
 
+        echo -n "Starting freeside-cdrrewrited: "
+        freeside-cdrrewrited $QUEUED_USER
+        echo "done."
+
+        echo -n "Starting freeside-cdrd: "
+        freeside-cdrd $QUEUED_USER
+        echo "done."
+
         for MACHINE in $SELFSERVICE_MACHINES; do
           echo -n "Starting freeside-selfservice-server to $MACHINE: "
           freeside-selfservice-server $SELFSERVICE_USER $MACHINE
@@ -37,28 +48,52 @@ case "$1" in
   stop)
         # Stop daemons.
         echo -n "Stopping freeside-queued: "
-        kill `cat /var/run/freeside-queued.pid`
+        [ -e /var/run/freeside-queued.pid ] && kill `cat /var/run/freeside-queued.pid`
+        #and
+        sleep 2;
+        killall freeside-queued
         echo "done."
 
-        echo -n "Stopping freeside-sqlradius-radacctd: "
-        kill `cat /var/run/freeside-sqlradius-radacctd.pid`
-        echo "done."
+        if [ -e /var/run/freeside-sqlradius-radacctd.pid ]; then
+          echo -n "Stopping freeside-sqlradius-radacctd: "
+          kill `cat /var/run/freeside-sqlradius-radacctd.pid`
+          echo "done."
+        fi
 
-        echo -n "Stopping freeside-prepaidd: "
-        kill `cat /var/run/freeside-prepaidd.pid`
-        echo "done."
+        if [ -e /var/run/freeside-prepaidd.pid ]; then
+          echo -n "Stopping freeside-prepaidd: "
+          kill `cat /var/run/freeside-prepaidd.pid`
+          echo "done."
+        fi
+
+        if [ -e /var/run/freeside-cdrd.pid ]; then
+          echo -n "Stopping freeside-cdrd: "
+          kill `cat /var/run/freeside-cdrd.pid`
+          echo "done."
+        fi
+
+        if [ -e /var/run/freeside-cdrrewrited.pid ]; then
+          echo -n "Stopping freeside-cdrrewrited: "
+          kill `cat /var/run/freeside-cdrrewrited.pid`
+          echo "done."
+        fi
 
         if [ -e /var/run/freeside-selfservice-server.$SELFSERVICE_USER.pid ]
         then
           echo -n "Stopping (old) freeside-selfservice-server: "
           kill `cat /var/run/freeside-selfservice-server.$SELFSERVICE_USER.pid`
           rm /var/run/freeside-selfservice-server.$SELFSERVICE_USER.pid
+          echo "done."
         fi
 
+        if [ -z "$SELFSERVICE_MACHINES" ]; then SELFSERVICE_MACHINES='localhost'; fi
         for MACHINE in $SELFSERVICE_MACHINES; do
-          echo -n "Stopping freeside-selfservice-server to $MACHINE: "
-          kill `cat /var/run/freeside-selfservice-server.$SELFSERVICE_USER.$MACHINE.pid`
-          echo "done."
+          if [ -e /var/run/freeside-selfservice-server.$SELFSERVICE_USER.$MACHINE.pid ]
+          then
+            echo -n "Stopping freeside-selfservice-server to $MACHINE: "
+            kill `cat /var/run/freeside-selfservice-server.$SELFSERVICE_USER.$MACHINE.pid`
+            echo "done."
+          fi
         done
 
         ;;