watch_activities 1.22 KB
Newer Older
1
#!/bin/sh
2
# Small watching script based on Sébastien idea.
Łukasz Nowak's avatar
Łukasz Nowak committed
3 4 5 6 7

# ideas:
#  - more control on what would be displayed
#  - allow to group by tag instead of method_id
#  - use python with curses to have runtime control
8

9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
function show_help ( )
{
  script_name=`basename $0`
  echo """
  Usage:
    $script_name <mysql_opt> [interval seconds]
  Interval is default 5.
  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

if [ "$MYSQL_OPT" == "" ] ; then
  show_help
30 31 32
  exit 1
fi

33 34 35 36
if [ "$INTERVAL" == "" ] ; then
  INTERVAL=5
fi

37 38 39
SELECT=""
for t in message message_queue ; do
  SELECT=$SELECT"""
40
  SELECT count(path) AS $t, method_id, processing, processing_node AS node, min(priority) AS min_pri, max(priority) AS max_pri FROM $t GROUP BY method_id, processing, processing_node ORDER BY node;
41 42 43 44
  SELECT count(path) AS $t, processing, processing_node, min(priority) AS min_pri, max(priority) AS max_pri FROM $t GROUP BY processing, processing_node;
  SELECT count(path) AS ${t}_count FROM $t;
  """
done
45
watch -n $INTERVAL "mysql $MYSQL_OPT --disable-pager -t -e '$SELECT' "