7 # ---------------------------------------------------------------------------------------- 
    8 # Simple desktop batch queue processor. 
   10 # The batch queue is defined by a standard FIFO and 
   11 # the entries in the queue are processed line-by-line. 
   12 # Each entry is executed as a separate process in the background, 
   13 # commonly referred to as a job. 
   14 # The number of jobs that can simultaneously run is limited by the queue size. 
   15 # The batch queue can be terminated by submitting a job with contents "exit". 
   17 # The batch queue may also be an existing regular file. 
   18 # The entries in the queue are processed as normal but 
   19 # the batch queue will terminate when the end-of-file is reached. 
   21 # A job can be submitted using the puts_queue function (see qlib.sh or qlib.csh). 
   22 # A series of joint commands can be submitted using a sequence of 
   23 # calls to put_queue, terminated by a single puts_queue call. 
   24 # ---------------------------------------------------------------------------------------- 
   26 if [ -z $JPP_DIR ]; 
then 
   27     echo "Variable JPP_DIR undefined." 
   31 source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/
null 
   40 if ( do_usage $* ); 
then 
   41     print -u2 
"$script [queue name [queue size]] <option>" 
   42     print -u2 
"Possible options: start, stop, continue, restart." 
   50     *)  fatal 
"Wrong number of options.";;
 
   53 if ( is_CCLyon ); 
then 
   54     fatal 
"This batch queue processor is intended for use on a desktop." 
   57 if (( $QUEUE_SIZE < 1 )); 
then 
   58     fatal 
"Invalid queue size $QUEUE_SIZE." 
   62     fatal 
"Invalid option $OPTION." 
   65 if   [[ 
$OPTION == 
"stop" || $OPTION == 
"restart" ]]; 
then 
   67     PID=(`get_pid $COMMAND`)
 
   71     if [[ -
n $PID ]]; 
then  
   72         notice 
"Stop $COMMAND." 
   76     rm -
f $QUEUE_NAME                                     # 
remove FIFO
 
   80 elif [[ $OPTION == 
"continue" ]]; 
then 
   82     PID=(`get_pid $COMMAND`)
 
   86     if [[ -
n $PID ]]; 
then  
   87         notice 
"$script is running with PID(s) $PID" 
   94 if [[ $OPTION = 
"start" ]]; 
then 
   96     notice 
"Start batch queue ${QUEUE_NAME} >& ${QUEUE_NAME}_log" 
   98     trap 
"" HUP                                           # trap hangup
 
  100     queue $QUEUE_NAME $QUEUE_SIZE $SLEEP_TIME >& ${QUEUE_NAME}_log &
 
void set_variable(const std::string &name, const std::string &value)
Set environment variable. 
 
do set_array DAQHEADER JPrintDAQHeader f
 
*set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2,-2] set_variable OUTPUT_FILE $argv[-1]
 
alias put_queue eval echo n
 
then usage $script< detector >< run >< outputfile > fi case set_variable OPTION
 
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY source JAcoustics sh $DETECTOR_ID typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
 
*fatal Wrong option $OPTION
 
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null
 
#define DEBUG(A)
Message macros.