Files
2016-06-09 16:25:56 +02:00

56 lines
1.6 KiB
Bash
Executable File

#!/bin/sh
# shows job progress at gridengine queues
CEXMC_PREFIX=cexmc_
qstat -u $USER
jobids=`qstat -u $USER | sed '1,2d' | grep $CEXMC_PREFIX | awk '{print $1}'`
jobbasenames=`qstat -u $USER -r | grep 'Full jobname' | grep $CEXMC_PREFIX | \
awk '{print $3}'`
jobnames=""
i=1
for jobbasename in $jobbasenames ; do
jobnames=$jobnames' '$jobbasename.o`echo $jobids | awk "{print \\$$i}"`
(( ++i ))
done
i=1
echo ---------------
for job in $jobnames ; do
msgperc="N/A"
fdbsize="N/A"
edbsize="N/A"
countPolicy=""
ordered=""
current=""
if [ -e "$job" ] ; then
countPolicy=`head -120 "$job" | \
awk '/^\/cexmc\/run\/eventCountPolicy/ {print $2}'`
if [[ -z "$countPolicy" || "$countPolicy" = "all" ]] ; then
ordered=`head -120 "$job" | awk '/^\/run\/beamOn/ {print $2}'`
current=`tail -120 "$job" | grep ^Event | tail -1 | \
awk '{print $2}'`
fi
fi
if [ -z "$current" ] ; then
current=0
fi
if [ -n "$ordered" ] ; then
msgperc=$(( current * 100 / ordered ))%
fi
jobbasename=`echo $jobbasenames | awk "{print \\$$i}"`
jobbasename=${jobbasename/$CEXMC_PREFIX/}
jobbasename=${jobbasename/\.job/}
if [ -e $CEXMC_PROJECTS_DIR/$jobbasename.fdb ] ; then
fdbsize=`du -sh $CEXMC_PROJECTS_DIR/$jobbasename.fdb | awk '{print $1}'`
fi
if [ -e $CEXMC_PROJECTS_DIR/$jobbasename.edb ] ; then
edbsize=`du -sh $CEXMC_PROJECTS_DIR/$jobbasename.edb | awk '{print $1}'`
fi
echo $job: $msgperc, fdb: $fdbsize, edb: $edbsize
(( ++i ))
done