1 Star 0 Fork 0

庞飞 / multiapp

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
queuer.go 1013 Bytes
一键复制 编辑 原始数据 按行查看 历史
庞飞 提交于 2023-10-03 17:10 . 合并主框架
package producerconsumer
import (
"gitee.com/pangxianfei/multiapp/config"
"gitee.com/pangxianfei/multiapp/kernel/zone"
"gitee.com/pangxianfei/multiapp/queue/driver/nsq"
)
func Initialize() {
//@todo use different config to new different queuer
//@todo memory, nsq, rabbitmq
setQueue(nsq.NewNsq(config.GetString("queue.default")))
initializeFailedProcessor()
}
var queue Queuer
func Queue() Queuer {
return queue
}
func setQueue(q Queuer) {
queue = q
}
type Queuer interface {
producerer
consumerer
registerer
SupportBroadCasting() bool
Close() (err error)
}
type registerer interface {
Register(topicName string, channelName string) (err error)
Unregister(topicName string, channelName string) (err error)
}
type producerer interface {
Push(topicName string, channelName string, delay zone.Duration, body []byte) (err error)
}
type consumerer interface {
Pop(topicName string, channelName string, handler func(hash string, body []byte) (handlerErr error), maxInFlight int) (err error)
}
Go
1
https://gitee.com/pangxianfei/multiapp.git
git@gitee.com:pangxianfei/multiapp.git
pangxianfei
multiapp
multiapp
v1.2.3

搜索帮助