From 2dd2deff4418a460cbe6d527a730c517ef332349 Mon Sep 17 00:00:00 2001 From: Marc Hoppe Date: Tue, 22 Feb 2011 21:31:32 +0100 Subject: [PATCH] queuetest hinzu --- queuetest.sh | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 queuetest.sh diff --git a/queuetest.sh b/queuetest.sh new file mode 100644 index 0000000..0e55344 --- /dev/null +++ b/queuetest.sh @@ -0,0 +1,78 @@ + + +function QueueInit () { + QueueCommandname=$(basename $1) + QueueFile=/tmp/$QueueCommandname.queue +} + +function QueueAdd() { + echo $@ >> $QueueFile +} + +#function QueueGet { +#} + +function QueueAddAndExitWhenAlreadyRunning() { + l=$(ps aux | grep $QueueCommandname | grep -v grep | wc -l) + if [ $l -gt 2 ]; then + echo "doppelt->Queue" + QueueAdd $@ + exit + fi +} + +function QueueCheckAndGet() { + if [ -f $QueueFile ]; then + l=$(cat $QueueFile | wc -l) + if [ $l -ge 1 ]; then + new=$(cat $QueueFile | head -n 1 ) + echo new:$new + let l-- + cat $QueueFile | tail -n $l > $QueueFile.tmp + cp $QueueFile.tmp $QueueFile + QueueNextToRun=$new + return 0 + fi + fi + return 1 +} + +function test() { + echo "Test:" + echo $1 + echo $@ +} + + +read param +command=$(echo $param | awk '{print $1}') + +QueueInit $command + +QueueAddAndExitWhenAlreadyRunning $param + +QueueCheckAndGet +if [ $? -eq 0 ]; then + QueueAdd $param + param=$QueueNextToRun +fi +run=1 + + +while [ $run -eq 1 ]; do + echo running $param + $param + echo finished $param + date + + QueueCheckAndGet + if [ $? -eq 0 ]; then + param=$QueueNextToRun + else + run=0; + fi +done + + + +