diff options
-rwxr-xr-x | Tools/portbuild/scripts/checkmachines | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/Tools/portbuild/scripts/checkmachines b/Tools/portbuild/scripts/checkmachines index f11fdd4f359d..e675800767df 100755 --- a/Tools/portbuild/scripts/checkmachines +++ b/Tools/portbuild/scripts/checkmachines @@ -20,46 +20,43 @@ buildroot=/var/portbuild arches=$* +sleep 60 + while true; do for i in ${arches}; do mlist=${buildroot}/${i}/mlist - stamp=${buildroot}/${i}/loads/.stamp unset DISPLAY - touch ${stamp} - sleep 15 min=99 set $(cat $mlist) while [ $# -gt 1 ]; do m=$1 l=$2 - if [ -f ${buildroot}/${i}/loads/$m -a \ - ! -z "$(find ${buildroot}/${i}/loads/$m -newer ${stamp})" ]; then + if (nc -w 5 $m infoseek > ${buildroot}/${i}/loads/$m < /dev/null); then num=$(awk '{print $1}' ${buildroot}/${i}/loads/$m) if [ "x$num" = "x" ]; then # logger "checkmachines: file ${buildroot}/${i}/loads/$m is empty" - num=99 + num=99 fi else num=99 fi - #xxx - #xxx Need to figure out how this is happening and fix this script - #xxx accordingly. This is what causes this script to go away on - #xxx occasion. - #xxx - #xxx arith: syntax error: "7:53AM / 5" - #xxx + num=$(($num / $l)) + if [ $num -lt $min ]; then mach=$m min=$num elif [ $num = $min ]; then mach="$mach $m" fi + shift 2 + done echo "$mach" > ${buildroot}/${i}/ulist + done + sleep 15 done |