You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
otto
62b20e46d9
|
2 months ago | |
---|---|---|
.gitignore | 2 years ago | |
README.md | 1 year ago | |
go.mod | 2 months ago | |
queue.go | 2 months ago |
README.md
本地队列
在服务内部创建使用列队
go module
go get -u git.gz.internal.jumaiyx.cn/pkg/queue
消费者
// 创建队列的消费对象
type Queue struct {
log log.Logger
}
func NewQueue() *Queue {
return &Queue{
log:log
}
}
// 自定义解析消息体
type Message struct {
Code int64
}
// 继承的消费方法
func (m *Queue) Consumer(message interface{}) error {
data, err := message.(Message)
fmt.Println(data.Code)
time.Sleep(time.Second * 1)
return nil
}
// 继承的消费错误方法,消费异常会传递进来
func (m *Queue) Error(err error) {
fmt.Println("err:", err)
}
生产者
func main() {
log := log.DefaultLogger()
// 创建一个队列
newQueue := queue.NewQueue(log, NewQueue(log))
// 提交生产者信息体
newQueue.Producer(Message{Code: 100})
time.Sleep(time.Second * 10)
}