基于内存的消息队列
This commit is contained in:
50
memory_test.go
Normal file
50
memory_test.go
Normal file
@ -0,0 +1,50 @@
|
||||
// Package event ...
|
||||
//
|
||||
// Description : event ...
|
||||
//
|
||||
// Author : go_developer@163.com<白茶清欢>
|
||||
//
|
||||
// Date : 2024-07-17 14:17
|
||||
package event
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"git.zhangdeman.cn/zhangdeman/event/define"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
func TestInitMemoryEvent(t *testing.T) {
|
||||
InitMemoryEvent(&define.MemoryEventConfig{
|
||||
MessageBufferSize: 1024,
|
||||
CloseMaxWaitTime: 5000,
|
||||
})
|
||||
go func() {
|
||||
for {
|
||||
time.Sleep(time.Second)
|
||||
MemoryEventClient.SendEventAsync(context.Background(), &define.EventData{
|
||||
EventType: "TEST",
|
||||
TraceID: time.Now().Format("2006-01-02 15:04:05"),
|
||||
Host: "",
|
||||
Timestamp: time.Now().Unix(),
|
||||
SystemTimestamp: 0,
|
||||
Key: "",
|
||||
Data: nil,
|
||||
}, func(ctx context.Context, eventResult *define.SendResult) {
|
||||
fmt.Println("消息发送成功")
|
||||
}, func(ctx context.Context, eventData *define.EventData, eventResult *define.SendResult, err error) {
|
||||
fmt.Println("消息发送失败")
|
||||
})
|
||||
}
|
||||
}()
|
||||
MemoryEventClient.ConsumeEvent(func(eventData *define.EventData) (map[string]any, error) {
|
||||
byteData, _ := json.Marshal(eventData)
|
||||
fmt.Println(string(byteData))
|
||||
return map[string]any{}, nil
|
||||
}, nil, nil)
|
||||
for {
|
||||
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user