本地队列
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 up 2 months ago
.gitignore up 2 years ago
README.md up 1 year ago
go.mod up 2 months ago
queue.go up 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)
}