Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-10 08:39:08

0001 #!/bin/sh
0002 #
0003 # chkconfig: - 85 15
0004 #
0005 # description: Panda JEDI
0006 # processname: python
0007 # config: /etc/sysconfig/panda_server
0008 # config: /etc/sysconfig/panda_jedi
0009 # pidfile: /var/log/panda/panda_jedi.pid
0010 
0011 # When multiple arguments are given, only the error from the _last_
0012 # one is reported.
0013 #
0014 ARGV="$@"
0015 #
0016 # |||||||||||||||||||| START CONFIGURATION SECTION  ||||||||||||||||||||
0017 # --------------------                              --------------------
0018 #
0019 # the path to application
0020 PROGNAME='python -u @@install_purelib@@/pandajedi/jediorder/JediMaster.py'
0021 
0022 # the path to the script application
0023 SCRIPTNAME='python -u @@install_purelib@@/pandajedi/jeditest/SchemaChecker.py'
0024 
0025 
0026 # virtual env activation
0027 @@virtual_env_setup@@
0028 
0029 # pid and lock files
0030 if [[ -z "${PANDA_LOCK_DIR}" ]]; then
0031     PIDFILE='/var/log/panda/panda_jedi.pid'
0032     LOCKFILE='/var/lock/subsys/panda_jedi'
0033 else
0034     PIDFILE=${PANDA_LOCK_DIR}'/panda_jedi.pid'
0035     LOCKFILE=${PANDA_LOCK_DIR}'/panda_jedi'
0036 fi
0037 
0038 # log files
0039 JEDISTDOUT='/var/log/panda/panda_jedi_stdout.log'
0040 JEDISTDERR='/var/log/panda/panda_jedi_stderr.log'
0041 
0042 # Source panda server env variables
0043 if [ -r /etc/sysconfig/panda_server ]; then
0044    . /etc/sysconfig/panda_server
0045 fi
0046 
0047 # Source panda JEDI env variables
0048 if [ -r /etc/sysconfig/panda_jedi ]; then
0049    . /etc/sysconfig/panda_jedi
0050 fi
0051 
0052 ERROR=0
0053 if [ "x$ARGV" = "x" ] ; then
0054     ARGV="-h"
0055 fi
0056 
0057 # check if PanDA Schema is the correct one
0058 function check_schema() {
0059   return_string=`$SCRIPTNAME`
0060   if [[ "$return_string" =~ .*OK ]]; then
0061     return 0
0062   else
0063     echo $return_string
0064     return 1
0065   fi
0066 }
0067 
0068 
0069 case $ARGV in
0070 start)
0071     if [ -f $LOCKFILE ]; then
0072         echo ERROR: JEDI is already running with lockfile:$LOCKFILE
0073     else
0074         echo "start JEDI"
0075         check_schema
0076         for itry in `seq 1 100`
0077         do
0078             echo trying $itry
0079             $PROGNAME --pid $PIDFILE >> $JEDISTDOUT 2>> $JEDISTDERR
0080             touch $LOCKFILE
0081             sleep 10
0082             ps -p `cat $PIDFILE` > /dev/null
0083             ERROR=$?
0084             echo $ERROR
0085             if [ $ERROR = 0 ]; then
0086                 echo succeeded
0087                 break
0088             else
0089                 echo failed
0090                 rm -f $LOCKFILE
0091             fi
0092         done
0093     fi
0094     ;;
0095 stop)
0096     echo "stop JEDI"
0097     if [ ! -f $PIDFILE ]; then
0098       echo "ERROR: JEDI PID file $PIDFILE not found ; skipped"
0099       exit 1
0100     fi
0101     for itry in `seq 1 100`
0102     do
0103         echo trying $itry
0104         kill `cat $PIDFILE`
0105         sleep 5
0106         ps -p `cat $PIDFILE` > /dev/null
0107         ERROR=$?
0108         echo $ERROR
0109         if [ $ERROR = 1 ]; then
0110             echo succeeded
0111             rm -f $PIDFILE $LOCKFILE
0112             break
0113         else
0114             echo failed
0115             sleep 10
0116         fi
0117     done
0118     ;;
0119 *)
0120     echo ERROR: unknown command $ARGV
0121     ERROR=1
0122 esac
0123 
0124 exit $ERROR