mirror of
https://github.com/xxjwxc/public.git
synced 2025-09-26 20:01:19 +08:00
58 lines
1.2 KiB
Go
58 lines
1.2 KiB
Go
package myrabbitmq
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/xxjwxc/public/message"
|
|
)
|
|
|
|
func Test_NewAdmin(t *testing.T) {
|
|
topic := "xxjtest"
|
|
tag := "tagtest"
|
|
host := "amqp://admin:admin@192.155.1.151:5672/"
|
|
group := "nlp_cmd_train"
|
|
// 初始化mq
|
|
mq, err := NewRabbitMQ(host)
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
}
|
|
defer mq.Close() // 完成任务释放资源
|
|
_, err = mq.NewProducer(topic, tag, group)
|
|
fmt.Println(err)
|
|
// go func() {
|
|
// for i := 0; i < 1000; i++ {
|
|
// mq.SendMessage([]byte(fmt.Sprintf("this is xxj test %v", i)))
|
|
// time.Sleep(1 * time.Microsecond)
|
|
// }
|
|
// }()
|
|
// time.Sleep(10 * time.Minute)
|
|
|
|
go func() {
|
|
ch, err := mq.NewConsumer(topic) // 消費者
|
|
fmt.Println(err)
|
|
mq.Start(ch, func(msg []byte) error {
|
|
fmt.Println("消费者1", string(msg))
|
|
time.Sleep(1 * time.Second)
|
|
return nil
|
|
})
|
|
time.Sleep(10 * time.Minute)
|
|
}()
|
|
|
|
go func() {
|
|
ch, err := mq.NewConsumer(topic) // 消費者
|
|
fmt.Println(err)
|
|
mq.Start(ch, func(msg []byte) error {
|
|
fmt.Println("消费者2", string(msg))
|
|
time.Sleep(1 * time.Second)
|
|
return message.GetError(message.ActvFailure)
|
|
})
|
|
time.Sleep(10 * time.Minute)
|
|
|
|
}()
|
|
|
|
time.Sleep(10 * time.Minute)
|
|
mq.Close()
|
|
}
|