Added stats, set test to more cores to check stressing.
This commit is contained in:
+65
-8
@@ -3,12 +3,14 @@ package main
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"runtime"
|
||||
"simplemq/lib/client"
|
||||
"simplemq/lib/types"
|
||||
"time"
|
||||
)
|
||||
|
||||
func main() {
|
||||
runtime.GOMAXPROCS(runtime.NumCPU())
|
||||
c, err := client.New("ws://localhost:8080/ws")
|
||||
if err != nil {
|
||||
panic(err.Error())
|
||||
@@ -21,16 +23,71 @@ func main() {
|
||||
})
|
||||
|
||||
c.Sub("ab.*", func(m *types.Msg) {
|
||||
log.Printf("Got wildcard")
|
||||
log.Printf("Got msg at %s: %s", m.Topic, string(m.Payload))
|
||||
c.RpcReply(m, []byte(fmt.Sprintf("Got msg at %s: %s", m.Topic, string(m.Payload))))
|
||||
})
|
||||
c.Sub("c.*", func(m *types.Msg) {
|
||||
//log.Printf("Got msg at %s: %s", m.Topic, string(m.Payload))
|
||||
})
|
||||
|
||||
for {
|
||||
bs, err := c.Rpc("a", []byte("A Request"))
|
||||
if err != nil {
|
||||
log.Printf(err.Error())
|
||||
} else {
|
||||
log.Printf("Recv: %s", string(bs))
|
||||
go func() {
|
||||
for {
|
||||
//bs, err := c.Rpc("ab01", []byte("A msg to AB01: "+time.Now().String()))
|
||||
//if err != nil {
|
||||
// log.Printf(err.Error())
|
||||
//}
|
||||
//log.Printf(string(bs))
|
||||
//time.Sleep(time.Millisecond * 100)
|
||||
}
|
||||
time.Sleep(time.Second)
|
||||
}()
|
||||
|
||||
go func() {
|
||||
for {
|
||||
c.Pub("ca", []byte("A msg to CA: "+time.Now().String()))
|
||||
//time.Sleep(time.Millisecond * 100)
|
||||
}
|
||||
}()
|
||||
|
||||
go func() {
|
||||
for {
|
||||
c.Pub("cb", []byte("A msg to CB: "+time.Now().String()))
|
||||
//time.Sleep(time.Millisecond * 75)
|
||||
}
|
||||
}()
|
||||
|
||||
go func() {
|
||||
for {
|
||||
c.Pub("cc", []byte("A msg to CC: "+time.Now().String()))
|
||||
//time.Sleep(time.Millisecond * 15)
|
||||
}
|
||||
}()
|
||||
|
||||
go func() {
|
||||
for {
|
||||
c.Pub("cd", []byte("A msg to CD: "+time.Now().String()))
|
||||
//time.Sleep(time.Millisecond * 15)
|
||||
}
|
||||
}()
|
||||
go func() {
|
||||
for {
|
||||
c.Pub("ce", []byte("A msg to CE: "+time.Now().String()))
|
||||
//time.Sleep(time.Millisecond * 15)
|
||||
}
|
||||
}()
|
||||
go func() {
|
||||
for {
|
||||
c.Pub("cf", []byte("A msg to CF: "+time.Now().String()))
|
||||
//time.Sleep(time.Millisecond * 15)
|
||||
}
|
||||
}()
|
||||
|
||||
for {
|
||||
//bs, err := c.Rpc("a", []byte("A Request"))
|
||||
//if err != nil {
|
||||
// log.Printf(err.Error())
|
||||
//} else {
|
||||
// log.Printf("Recv: %s", string(bs))
|
||||
//}
|
||||
time.Sleep(time.Minute)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user