#!/bin/ksh
#echo === soumet a guillimin with arbitrary job id === 1>&2
if [[ "$2" != "submit" || "$1" != *guillimin.clumeq.ca || ! -f $3 ]]
then
  echo usage: ${0##*/} guillimin.clumeq.ca submit file_name
  exit 1
fi
HeadNode=$(hostname)
# the following code is deprecated and replaced by soumet_a_workstream
if [[ "$1" == *@* ]]
then
  DeferredQueue=${1%%@*}
  TheFile="$(true_path $3)"
  MY_JOB_ID="deferred@${DeferredQueue}"
  echo "# JOB ID = $MY_JOB_ID" >>${TheFile}
  mkdir -p $HOME/.job_queues/$DeferredQueue
  ln -s $3 $HOME/.job_queues/$DeferredQueue/$(date +%s)_$(hostname)_$$
  echo "Your job has been submitted to deferred queue $DeferredQueue by $HeadNode"
  exit 0
fi
QueuingTime=$(date +%s)
TheFile="$(true_path $3)"
cd
#set -x
case $HeadNode in
  lg-1r14-n0*)
    MY_JOB_ID=$(sed -e "s/=JoBQuEuEd/=${QueuingTime}/" <${TheFile} | msub - | grep '[0-9][0-9]*$' | head -1 | sed 's/ .*//' )
    ;;
  sw-* | hb-* | lm-*)
#    HeadNode=$($HOME/ECssm/multi/bin/u.host guillimin)
#    HeadNode=gm-1r15-n06
    HeadNode=gm-schrm   
    MY_JOB_ID=$(sed -e "s/=JoBQuEuEd/=${QueuingTime}/" <${TheFile} | ssh $HeadNode /opt/moab/bin/msub - | grep '[0-9][0-9]*$' | head -1 | sed 's/ .*//' )
    ;;
esac
if [[ -n $MY_JOB_ID ]] 
then
  echo "Your job $MY_JOB_ID has been submitted by $HeadNode"
  Status=0
else
  echo "WARNING: msub on $HeadNode may not have been able to submit job ${TheFile} properly" 1>&2
  echo "ERROR: msub on $HeadNode was not able to submit job ${TheFile} properly" 1>&2
  Status=0
  MY_JOB_ID="UNKNOWN"
fi
echo "# JOB ID = $MY_JOB_ID" >>${TheFile}
exit ${Status}
