#!/bin/sh # Small wait script based on watch_activities scripts. # The goal is keep running until the activities. function show_help ( ) { script_name=`basename $0` echo """ Usage: $script_name <mysql_opt> [interval seconds] [timeout in seconds] Interval is default 5. Timeout default is 600 seconds. mysql_opt are default mysql command line options. Put them in quotes if more than one option is passed. Typical usage: $script_name erp5 $script_name \"-h remotehost -u user erp5remote\" 3 """ } MYSQL_OPT=$1 INTERVAL=$2 TIMEOUT=$3 if [ "$MYSQL_OPT" == "" ] ; then show_help exit 1 fi if [ "$INTERVAL" == "" ] ; then INTERVAL=5 fi if [ "$TIMEOUT" == "" ] ; then INTERVAL=600 fi TIME=0 while true do SELECT="SELECT count(*) AS message_count FROM message;" VALUE=`echo $SELECT | mysql $MYSQL_OPT | grep -v message` if [ "$VALUE" == "0" ] then SELECT="SELECT count(*) AS message_count FROM message_queue;" VALUE=`echo $SELECT | mysql $MYSQL_OPT | grep -v message` if [ "$VALUE" == "0" ] then exit 0 fi fi sleep $INTERVAL; TIME="`expr $TIME + $INTERVAL`" if [ $TIME -gt $TIMEOUT ] then echo "Timeout" exit 1 fi done