|
- package consume
-
- import (
- "applet/app/utils/logx"
- consumeMd "applet/consume/md"
- "time"
- )
-
- var (
- jobs = map[string]func(consumeMd.MqQueue){}
- )
-
- func Init() {
- // 初始化任务列表
- initConsumes()
- }
-
- // 增加消费任务队列
- func initConsumes() {
- jobs[consumeMd.CanalOrderConsumeFunName] = CanalOrderConsume
- jobs[consumeMd.CanalGuideOrderConsumeFunName] = CanalGuideOrderConsume
- jobs[consumeMd.ZhiOsUserVisitIpAddressConsumeFunName] = ZhiOsUserVisitIpAddressConsume
- jobs[consumeMd.ZhiosFastReturnOrderPayFunName] = ZhiosFastReturnOrderPay
- jobs[consumeMd.ZhiosFastReturnOrderSuccessFunName] = ZhiosFastReturnOrderSuccess
- jobs[consumeMd.ZhiosFastReturnOrderRefundFunName] = ZhiosFastReturnOrderRefund
- }
-
- func Run() {
- for _, v := range consumeMd.RabbitMqQueueKeyList {
- if _, ok := jobs[v.ConsumeFunName]; ok {
- go doConsume(v.ConsumeFunName, *v)()
- }
- }
- }
-
- func doConsume(fnName string, queue consumeMd.MqQueue) func() {
- return func() {
- begin := time.Now().Local()
- jobs[fnName](queue)
- end := time.Now().Local()
- logx.Infof(
- "[%s] AutoConsume started at <%s>, ended at <%s> duration <%s>",
- fnName,
- begin.Format("2006-01-02 15:04:05.000"),
- end.Format("2006-01-02 15:04:05.000"),
- time.Duration(end.UnixNano()-begin.UnixNano()).String(),
- )
- }
- }
|