package main import ( "flag" "fmt" "github.com/ichunt2019/golang-rbmq-sl/utils/rabbitmq" "go-queue-server/dal/db" "go-queue-server/pyMonit/api-service-log" _ "sync" _ "time" ) type RecvPro struct { } //// 实现消费者 消费消息失败 自动进入延时尝试 尝试3次之后入库db func (t *RecvPro) Consumer(dataByte []byte) error { fmt.Println(string(dataByte)) api_service_log.AddMsgtoRbmq(string(dataByte)) return nil } //消息已经消费3次 失败了 请进行处理 func (t *RecvPro) FailAction(err error,dataByte []byte) error { //logger.Error("任务处理失败了,我要进入db日志库了") //logger.Error("任务处理失败了,发送钉钉消息通知主人") //logger.Error(string(dataByte)) //logger.Error("错误原因:%s",err) //ding.Send( // util.Configs.Ding_msg.ErpLabelWebhook, // "@所有人 标签库系统告警:\n", // fmt.Sprintf("失败原因:%s \n %s",err,string(dataByte)) , // make([]string,0), // false, // ) return nil } func initDb(action string,dns string) (err error) { err = db.CreateDB(action,dns) if err != nil { fmt.Println(err) return } return } var ConfigDir string var LogDir string // 解析命令行参数 func initArgs() { // worker -config ./worker.json // worker -h flag.StringVar(&ConfigDir, "configDir", "", "配置文件") flag.StringVar(&LogDir, "logDir", "", "日志目录") flag.Parse() } func main() { t := &RecvPro{} rabbitmq.Recv(rabbitmq.QueueExchange{ "api_service_log", "api_service_log", "", "", "amqp://WmsQue:EizM9I1TAxoO0tmzoOm@172.18.137.33:5672/", },t,1) }