From 5eeddc5d2f32dcd7b9c7dfd223d20e4c81497cd6 Mon Sep 17 00:00:00 2001 From: Rafael Monnerat <rafael@nexedi.com> Date: Fri, 13 Nov 2009 22:48:39 +0000 Subject: [PATCH] Draft script that runs while there is actitivities running (or TIMEOUT). This is a experimental script for make possible execute some shell command after all activities are running, for example. git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@30616 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/CMFActivity/bin/wait_activities | 62 +++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100755 product/CMFActivity/bin/wait_activities diff --git a/product/CMFActivity/bin/wait_activities b/product/CMFActivity/bin/wait_activities new file mode 100755 index 0000000000..e9198603a8 --- /dev/null +++ b/product/CMFActivity/bin/wait_activities @@ -0,0 +1,62 @@ +#!/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 -- 2.30.9