Skip to content

Commit 72bff1c

Browse files
committed
change example
Signed-off-by: Gabriele Santomaggio <[email protected]>
1 parent 1bd0191 commit 72bff1c

File tree

1 file changed

+25
-13
lines changed

1 file changed

+25
-13
lines changed

examples/reliable/reliable_client.go

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"log"
99
"net/http"
1010
"os"
11+
"regexp"
1112
"runtime"
1213
"sync"
1314
"sync/atomic"
@@ -37,25 +38,35 @@ var reSent int32
3738

3839
const enableResend = false
3940

41+
func formatCommas(num int32) string {
42+
str := fmt.Sprintf("%d", num)
43+
re := regexp.MustCompile("(\\d+)(\\d{3})")
44+
for n := ""; n != str; {
45+
n = str
46+
str = re.ReplaceAllString(str, "$1,$2")
47+
}
48+
return str
49+
}
50+
4051
func main() {
4152
go func() {
4253
log.Println(http.ListenAndServe("localhost:6060", nil))
4354
}()
4455
// Your application code here
4556

4657
// Tune the parameters to test the reliability
47-
const messagesToSend = 50_000_000
48-
const numberOfProducers = 5
49-
const concurrentProducers = 2
58+
const messagesToSend = 10_000_000
59+
const numberOfProducers = 1
60+
const concurrentProducers = 1
5061
const numberOfConsumers = 1
5162
const sendDelay = 1 * time.Millisecond
5263
const delayEachMessages = 500
53-
const maxProducersPerClient = 2
54-
const maxConsumersPerClient = 2
64+
const maxProducersPerClient = 1
65+
const maxConsumersPerClient = 1
5566
//
5667

5768
reader := bufio.NewReader(os.Stdin)
58-
stream.SetLevelInfo(logs.DEBUG)
69+
stream.SetLevelInfo(logs.INFO)
5970
fmt.Println("Reliable Producer/Consumer example")
6071
fmt.Println("Connecting to RabbitMQ streaming ...")
6172

@@ -69,6 +80,7 @@ func main() {
6980
SetMaxProducersPerClient(maxProducersPerClient).
7081
SetMaxConsumersPerClient(maxConsumersPerClient).
7182
SetUris(addresses))
83+
7284
CheckErr(err)
7385
fmt.Printf("Environment created with %d producers and %d consumers\n\n", maxProducersPerClient, maxConsumersPerClient)
7486

@@ -82,7 +94,7 @@ func main() {
8294
}
8395
err = env.DeclareStream(streamName,
8496
&stream.StreamOptions{
85-
MaxLengthBytes: stream.ByteCapacity{}.GB(1),
97+
MaxLengthBytes: stream.ByteCapacity{}.GB(10),
8698
},
8799
)
88100
CheckErr(err)
@@ -95,12 +107,12 @@ func main() {
95107
totalConfirmed := atomic.LoadInt32(&confirmed) + atomic.LoadInt32(&fail)
96108
expectedMessages := messagesToSend * numberOfProducers * concurrentProducers * 2
97109
fmt.Printf("********************************************\n")
98-
fmt.Printf("%s - ToSend: %d - nProducers: %d - concurrentProducers: %d - nConsumers %d \n", time.Now().Format(time.RFC850),
99-
expectedMessages, numberOfProducers, concurrentProducers, numberOfConsumers)
100-
fmt.Printf("Sent:%d - ReSent %d - Confirmed:%d - Not confirmed:%d - Fail+Confirmed :%d \n",
101-
sent, atomic.LoadInt32(&reSent), atomic.LoadInt32(&confirmed), atomic.LoadInt32(&fail), totalConfirmed)
102-
fmt.Printf("Total Consumed: %d - Per consumer: %d \n", atomic.LoadInt32(&consumed),
103-
atomic.LoadInt32(&consumed)/numberOfConsumers)
110+
fmt.Printf("%s - ToSend: %s - nProducers: %d - concurrentProducers: %d - nConsumers %d \n", time.Now().Format(time.RFC850),
111+
formatCommas(int32(expectedMessages)), numberOfProducers, concurrentProducers, numberOfConsumers)
112+
fmt.Printf("Sent:%s - ReSent:%s - Confirmed:%s - Not confirmed:%s - Fail+Confirmed:%s \n",
113+
formatCommas(sent), formatCommas(atomic.LoadInt32(&reSent)), formatCommas(atomic.LoadInt32(&confirmed)), formatCommas(atomic.LoadInt32(&fail)), formatCommas(totalConfirmed))
114+
fmt.Printf("Total Consumed:%s - Per consumer:%s \n", formatCommas(atomic.LoadInt32(&consumed)),
115+
formatCommas(atomic.LoadInt32(&consumed)/numberOfConsumers))
104116

105117
for _, producer := range producers {
106118
fmt.Printf("%s, status: %s \n",

0 commit comments

Comments
 (0)