lyzhang1999 / aliyun-mns

阿里云MNS

Home Page:https://github.com/xiaojiaoyu100/aliyun-mns

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

aliyun-mns

aliyun-mns是对阿里云消息服务的封装,具有以下特点:

  • 动态创建队列
  • 可以设置消费者数目
  • 长轮询
  • 消息处理时长自适应
  • 发送消息重试
  • 监控报警

消费者

package main

import (
	"log"

	"github.com/xiaojiaoyu100/aliyun-mns"
)

func HandleExample(rm *aliyun_mns.ReceiveMessage,queneName string) error {
	log.Println(rm.MessageBody)
	log.Println(queneName)
	return nil
}

func main() {
	aliyun_mns.QuickDebug()
	c := aliyun_mns.New(
		endpoint,
		accessKeyId,
		accessKeySecret)
	c.AddQueue(&aliyun_mns.Queue{
		Name:     "example",
		Parallel: 2,
		QueueAttributeSetters: []aliyun_mns.QueueAttributeSetter{
			aliyun_mns.WithDelaySeconds(10)},
		OnReceive: HandleExample,
	})
	c.Run()
	done := make(chan bool)
	<-done
}

生产者

c.SendMessage("example", "test_data")

About

阿里云MNS

https://github.com/xiaojiaoyu100/aliyun-mns

License:MIT License


Languages

Language:Go 100.0%