-#!/bin/bash
-QIZX="/raid0/kn/qizx/qizx-fe-4.1p1/bin/qizx.alarm"
-
-source utils.sh
-
-function stop_qizx() {
- sleep 2
-# rm -rf mat.xq count.xq
- QIZXPIDS=`ps xwww --format "%p,%a" | grep java | grep qizx | cut -f 1 -d ' '`
- for i in $QIZXPIDS
- do
- kill -TERM "$i"
- sleep 2
- KILLED=`ps aux | grep '^'$i`
- if [ "$KILLED" ]
- then
- kill -9 "$i"
- fi
- sleep 3
- rm -f /raid0/kn/qizxlib/*/lock
- while true
- do
- o=/raid0/kn/qizx/qizx-fe-4.1p1/bin/qizx -g /raid0/kn/qizxlib/ -l xmark -check /tmp/log >/dev/null 2>&1
- sleep 2
- if [ -z "$o" ]
- then
- break
- fi
- done
- done
-
-}
-
-trap stop_qizx INT TERM
-
-function do_qizx() {
-
- stop_qizx
-
- query="$1"
- doc=`basename "$2"`
- repeat="$3"
- count="$4"
- echo 'let $doc := collection("'"$doc"'") return count($doc'"$query"')' > count.xq
- echo 'let $doc := collection("'"$doc"'") return $doc'"$query" > mat.xq
-
- IT=0
- while true
- do
- OUTPUT=`$QIZX -g /raid0/kn/qizxlib/ -l xmark count.xq 2>&1`
- if echo "$OUTPUT" | grep -q 'java' >/dev/null 2>&1
- then
- if [ "$IT" = 5 ]
- then
- break
- fi
- IT=$(($IT + 1))
- continue
- fi
-
- {
- read count;
- } < <(echo "$OUTPUT")
-
- stop_qizx
- sleep 3
- tmp=`echo "$count" | grep -o '[0-9.]\+'`
- if [ "$tmp" = "$count" ]
- then
- break
- fi
- done
-
- IT=0
- while true
- do
-
- OUTPUT=`$QIZX -g /raid0/kn/qizxlib/ -l xmark -r "$repeat" count.xq 2>&1`
- if echo "$OUTPUT" | grep -q 'java' >/dev/null 2>&1
- then
- if [ "$IT" = 5 ]
- then
- break
- fi
- IT=$(($IT + 1))
- continue
- fi
-
- {
- read time_count;
- } < <(echo "$OUTPUT" | grep 'display time' | cut -f 3 -d : | grep -o '[0-9]\+'| tail -n +1 | average )
-
-
- stop_qizx
- sleep 3
- if [ -z "$time_count" ]
- then
- break
- fi
- tmp=`echo "$time_count" | grep -o '[0-9.]\+'`
- if [ "$tmp" = "$time_count" ]
- then
- break
- fi
- done
-
- IT=0
- if [ -z "$count" ]
- then
-
- while true
- do
- OUTPUT=`$QIZX -g /raid0/kn/qizxlib/ -l xmark -r "$repeat" mat.xq -out /dev/null 2>&1`
- if echo "$OUTPUT" | grep -q 'java' >/dev/null 2>&1
- then
- if [ "$IT" = 5 ]
- then
- break
- fi
- IT=$(($IT + 1))
- continue
- fi
-
- {
- read time_mat;
- } < <(echo "$OUTPUT" 2>&1 | grep 'display time' | cut -f 3 -d : | grep -o '[0-9]\+'| tail -n +1 | average)
-
- stop_qizx
- sleep 3
- if [ -z "$time_mat" ]
- then
- break
- fi
-
-
- tmp=`echo "$time_mat" | grep -o '[0-9.]\+'`
- if [ "$tmp" = "$time_mat" ]
- then
- break
- fi
- done
- else
- time_mat="999999"
- fi
-
- echo $time_count
- echo 0
- echo $time_mat
- echo $count
-
-}
-
-#UGLY HACK TO TRICK QIZX EVALUATION VERSION
-# OLD_DATE=`date +"%m/%d/%Y"`
-
-# function reset_time() {
-# CUR_TIME=`date +"%H:%M:%S"`
-# sudo date -s "$OLD_DATE $CUR_TIME" >/dev/null 2>&1
-# }
-# trap reset_time INT TERM
-
-#CUR_TIME=`date +"%H:%M:%S"`
-#sudo date -s "03/11/2011 $CUR_TIME" >/dev/null 2>&1
-do_qizx "$@"
-#reset_time