Mercurial > dive4elements > river
view contrib/init.d/d4e-river @ 8587:07c9ac22f611
(issue1755) Generalise BedQuality result handling
The bedquality calculation now produces a result for each time period
which has BedQualityResultValues for each specific result type.
Formally this was split up in density, porosity and diameter classes
with some bedload diameter classes mixed in for extra fun.
The intent of this commit is to allow more shared code and generic
access patterns to the BedQuality results.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Wed, 18 Mar 2015 18:42:08 +0100 |
parents | 0000ed802cad |
children |
line wrap: on
line source
#!/bin/bash # ### BEGIN INIT INFO # Provides: d4e-server # Required-Start: $network $syslog $remote_fs # Should-Start: $named $syslog $time # Required-Stop: $network $syslog # Should-Stop: $named $syslog $time # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Short-Description: Dive4Elements server # Description: Start Dive4Elements server ### END INIT INFO RUNAS=flys START_SCRIPT="/opt/flys/d4e-start" NAME="$(basename $0)" SHUTDOWN_WAIT="30" export FLYSDIR="/opt/flys/current/server" unset ISBOOT if [ "${NAME:0:1}" = "S" -o "${NAME:0:1}" = "K" ]; then NAME="${NAME:3}" ISBOOT="1" fi # remove SUSE's rc name if [ "${NAME:0:2}" = "rc" ]; then NAME="${NAME:2}" fi export LOGFILE=/var/log/d4e-river.log export ARGS="-Xmx256m \ -server \ -Djava.awt.headless=true \ -Dflys.datacage.recommendations.development=false \ -Djava.io.tmpdir=$FLYSDIR/cache \ -Dflys.backend.enablejmx=true \ -Dflys.uesk.keep.artifactsdir=false \ -Dwsplgen.bin.path=$FLYSDIR/bin/wsplgen \ -Dwsplgen.log.output=false \ -Dlog4j.configuration=file://$FLYSDIR/conf/log4j.properties \ -Dartifact.database.dir=$FLYSDIR/conf" export MAINCLASS=org.dive4elements.artifactdatabase.App # For SELinux we need to use 'runuser' not 'su' if [ -x "/sbin/runuser" ]; then SU="/sbin/runuser" else SU="/bin/su -m" fi # pulled from RHEL4 /etc/rc.d/init.d/functions function checkpid() { local i for i in $* ; do if [ -d "/proc/${i}" ]; then return 0 fi done return 1 } . /etc/rc.status rc_reset function start() { echo -n "Starting D4E-river server... " if [ -f "/var/lock/subsys/${NAME}" ] ; then if [ -f "/var/run/${NAME}.pid" ]; then read kpid < /var/run/${NAME}.pid if checkpid $kpid 2>&1; then echo "$NAME process already running with pid $kpid" rc_failed 0 exit else echo "lock file found but no process running for pid $kpid, continuing" rc_failed 7 fi fi fi export D4E_PID="/var/run/${NAME}.pid" touch $D4E_PID chown $RUNAS $D4E_PID touch $LOGFILE chown $RUNAS $LOGFILE for l in `find "$FLYSDIR/bin/lib" -name \*.jar -print`; do CLASSPATH=$CLASSPATH:$l done export CLASSPATH $SU $RUNAS -c "$START_SCRIPT" #>> $LOGFILE 2>&1 RETVAL="$?" if [ "$RETVAL" -eq 0 ]; then rc_failed 0 touch /var/lock/subsys/${NAME} else rc_failed 7 fi rc_status -v } function stop() { echo -n "Shutting down D4E-River" if [ -f "/var/lock/subsys/${NAME}" ]; then count="0" if [ -f "/var/run/${NAME}.pid" ]; then read kpid < /var/run/${NAME}.pid kill $kpid until [ "$(ps --pid $kpid | grep -c $kpid)" -eq "0" ] || \ [ "$count" -gt "$SHUTDOWN_WAIT" ]; do if [ "$SHUTDOWN_VERBOSE" = "true" ]; then echo -n -e "\nwaiting for processes $kpid to exit" fi sleep 1 let count="${count}+1" done if [ "$count" -gt "$SHUTDOWN_WAIT" ]; then if [ "$SHUTDOWN_VERBOSE" = "true" ]; then echo -n -e "\nkilling processes which didn't stop" echo -n -e "after " echo -n "$SHUTDOWN_WAIT seconds" fi kill -9 $kpid fi rc_failed 0 if [ "$count" -gt "0" ]; then echo -n -e "\n" fi fi rm -f /var/lock/subsys/${NAME} /var/run/${NAME}.pid fi rc_status -v } case "$1" in start) start ;; stop) stop ;; restart) $0 stop && $0 start ;; *) echo "Usage: $0 [start|stop|restart]" esac