blob: d68a8c81da945798a466b7bccec5726af100cc1e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#!/bin/bash
# Run the C++ topic test
# Defaults
SUBSCRIBERS=10
MESSAGES=2000
BATCHES=10
while getopts "s:m:b:" opt ; do
case $opt in
s) SUBSCRIBERS=$OPTARG ;;
m) MESSAGES=$OPTARG ;;
b) BATCHES=$OPTARG ;;
?)
echo "Usage: %0 [-s <subscribers>] [-m <messages.] [-b <batches>]"
exit 1
;;
esac
done
subscribe() {
ID=$1
echo "subscriber $ID"
./topic_listener > subscriber.$ID 2>&1 || {
echo "SUBSCRIBER %ID FAILED: " ;
cat subscriber.$ID
}
rm subscriber.$ID
}
publish() {
./topic_publisher -messages $MESSAGES -batches $BATCHES -subscribers $SUBSCRIBERS
}
for ((i=$SUBSCRIBERS ; i--; )); do
subscribe $i &
done
sleep 1
STATS=~/bin/topictest.times
echo "---- topictest `date`" >> $STATS
publish | tee -a $STATS
|