[Labs-l] Bots OGE "qcronsub" submission wrapper

Daniel Schwen lists at schwen.de
Thu Mar 14 17:04:52 UTC 2013


The script on the toolserver is copied below.
The main thing it does is adding '-hard -l unique' to the arguments
and passing everything to qsub.
Then it checks the return status.

#! /bin/bash
. /sge/GE/default/common/settings.sh
PATH="/sge/GE/bin/sol-amd64:/sge/GE/bin/sol-amd64:/opt/local/bin:/opt/ts/gnu/bin:/opt/ts/bin:/opt/ts/sbin:/usr/bin:/usr/sbin:/bin:/sbin"
MYTEMPFILEO=`mktemp -t qcronsub.oXXXX`
MYTEMPFILEE=`mktemp -t qcronsub.eXXXX`
ARGS="-hard -l unique"
VERBOSE="0"
for ARG in "$@"
 do
  if [ "$ARG" = "-verbose" ]
  then
    VERBOSE="1"
  else
    ARGS="$ARGS $ARG"
  fi
done
/sge/GE/bin/sol-amd64/qsub $ARGS >${MYTEMPFILEO} 2>${MYTEMPFILEE}
RC="$?"
if [ ${RC} -eq 1 ]
 then
  grep -q -P "Unable to run job: Job .* already queued." ${MYTEMPFILEE}
  if [ $? -eq 0 ]
   then
    RC=0
  fi
fi
if [ -s ${MYTEMPFILEE} ]
 then
  if [ ${RC} -ne 0 -o ${VERBOSE} -ne 0 ]
   then
    cat ${MYTEMPFILEE} >&2
   else
    grep -v -P "(Unable to run job: Job .* already queued.|Exiting.)"
${MYTEMPFILEE} >&2
  fi
fi
rm -f ${MYTEMPFILEE}
if [ -s ${MYTEMPFILEO} ]
 then
  if [ ${RC} -ne 0 -o ${VERBOSE} -ne 0 ]
   then
    cat ${MYTEMPFILEO}
   else
    grep -v -P "Your job(-array)? .* (".*") has been submitted" ${MYTEMPFILEO}
  fi
fi
rm -f ${MYTEMPFILEO}
exit "${RC}"

On Thu, Mar 14, 2013 at 10:57 AM, Petr Bena <benapetr at gmail.com> wrote:
> yes we can! Just describe it a bit more and I will make one
>
> On Thu, Mar 14, 2013 at 5:47 PM, Daniel Schwen <lists at schwen.de> wrote:
>> Hi Bots guys,
>> on the toolserver we have a wrapper to qsub (named qcronsub) which
>> ensures that only at most one instance of a task is running at any
>> given time.
>> This is useful for bots on a schedule, where sporadically a run may
>> take longer than the time between scheduled runs (and where running
>> two copies of the same bot could screw things up big time).
>> Do we have such a wrapper on the bots project? If not could we get it
>> please? I don't want to start fiddling with lockfiles on my own in
>> every submission script.
>> Daniel
>>
>> _______________________________________________
>> Labs-l mailing list
>> Labs-l at lists.wikimedia.org
>> https://lists.wikimedia.org/mailman/listinfo/labs-l
>
> _______________________________________________
> Labs-l mailing list
> Labs-l at lists.wikimedia.org
> https://lists.wikimedia.org/mailman/listinfo/labs-l



More information about the Labs-l mailing list