158 lines
3.0 KiB
Go
158 lines
3.0 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"log"
|
|
"strconv"
|
|
"testing"
|
|
"time"
|
|
"zhub/cli"
|
|
)
|
|
|
|
var (
|
|
//addr = "47.111.150.118:6066"
|
|
addr = "127.0.0.1:1216"
|
|
//addr = "122.112.180.156:6066"
|
|
//addr = "39.108.56.246:1216"
|
|
)
|
|
|
|
func TestCli(t *testing.T) {
|
|
//client, err := cli.Create("39.108.56.246:7070", "")
|
|
client, err := cli.Create(addr, "xx")
|
|
//client, err := cli.Create(addr, "topic-x")
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
// 订阅主题 消息
|
|
client.Subscribe("ax", func(v string) {
|
|
log.Println("收到主题 ax 消息 " + v)
|
|
})
|
|
|
|
// 定时调度
|
|
client.Timer("a", func() {
|
|
log.Println("收到 a 定时消息")
|
|
})
|
|
|
|
client.Subscribe("a", func(v string) {
|
|
log.Println("收到主题 a 消息 " + v)
|
|
})
|
|
client.Delay("a", "x", 3000)
|
|
|
|
time.Sleep(time.Hour * 3)
|
|
}
|
|
|
|
func TestTimer(t *testing.T) {
|
|
go func() {
|
|
client, _ := cli.Create(addr, "topic-1")
|
|
|
|
client.Subscribe("ax1", func(v string) {
|
|
log.Println("topic-1-ax: " + v)
|
|
})
|
|
}()
|
|
go func() {
|
|
client, _ := cli.Create(addr, "topic-1")
|
|
|
|
client.Subscribe("ax1", func(v string) {
|
|
log.Println("topic-2-ax: " + v)
|
|
})
|
|
}()
|
|
|
|
go func() {
|
|
client, _ := cli.Create(addr, "topic-1")
|
|
|
|
client.Subscribe("ax1", func(v string) {
|
|
log.Println("topic-3-ax: " + v)
|
|
})
|
|
}()
|
|
|
|
/*go func() {
|
|
client, _ := cli.Create(addr, "topic-1")
|
|
|
|
client.Subscribe("ax", func(v string) {
|
|
log.Println("topic-4-ax: " + v)
|
|
})
|
|
}()
|
|
go func() {
|
|
client, _ := cli.Create(addr, "topic-1")
|
|
|
|
client.Subscribe("ax", func(v string) {
|
|
log.Println("topic-5-ax: " + v)
|
|
})
|
|
}()*/
|
|
|
|
/*go func() {
|
|
client, _ := cli.Create(addr, "topic-2")
|
|
client.Timer("a", func() {
|
|
log.Println("client-2 收到 a 的定时消息")
|
|
})
|
|
}()
|
|
|
|
go func() {
|
|
client, _ := cli.Create(addr, "topic-3")
|
|
client.Timer("c", func() {
|
|
log.Println("client-2 收到 c 的定时消息")
|
|
})
|
|
|
|
client.Timer("b", func() {
|
|
log.Println("client-2 收到 b 的定时消息")
|
|
})
|
|
client.Timer("LOAD-LIVE-ROOM-UNBANNED", func() {
|
|
log.Println("client-2 收到 LOAD-LIVE-ROOM-UNBANNED 的定时消息")
|
|
})
|
|
client.Timer("VIP-EXP-EXPIRE", func() {
|
|
log.Println("client-2 收到 VIP-EXP-EXPIRE 的定时消息")
|
|
})
|
|
}()*/
|
|
|
|
time.Sleep(time.Hour * 3)
|
|
}
|
|
|
|
func TestSendCmd(t *testing.T) {
|
|
client, err := cli.Create(addr, "group-admin")
|
|
if err != nil {
|
|
log.Println(err)
|
|
}
|
|
|
|
//client.Cmd("reload-timer")
|
|
client.Cmd("shutdown")
|
|
}
|
|
|
|
func TestPublish(t *testing.T) {
|
|
client, err := cli.Create(addr, "")
|
|
if err != nil {
|
|
log.Println(err)
|
|
}
|
|
for i := 0; i < 10000; i++ {
|
|
client.Publish("ax1", strconv.Itoa(i))
|
|
}
|
|
|
|
time.Sleep(time.Second)
|
|
}
|
|
|
|
func TestLock(t *testing.T) {
|
|
client, _ := cli.Create(addr, "xx")
|
|
|
|
client.Subscribe("lock", func(v string) {
|
|
|
|
})
|
|
|
|
var fun = func(x string) {
|
|
log.Println("lock", time.Now().UnixNano()/1e6)
|
|
lock := client.Lock("a", 30)
|
|
defer client.Unlock(lock)
|
|
//client.Lock("a", 5)
|
|
|
|
for i := 0; i < 5; i++ {
|
|
time.Sleep(time.Second * 1)
|
|
fmt.Println(x + ":" + strconv.Itoa(i+1))
|
|
}
|
|
}
|
|
|
|
go fun("x")
|
|
go fun("y")
|
|
go fun("z")
|
|
|
|
time.Sleep(time.Second * 30 * 10)
|
|
}
|