123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- package main
- import (
- util "app.yhyue.com/data_processing/common_utils"
- "app.yhyue.com/data_processing/common_utils/udp"
- "encoding/json"
- "flag"
- "jygit.jydev.jianyu360.cn/data_processing/common_utils/mongodb"
- "log"
- "net"
- "os"
- "time"
- )
- var startDate, endDate string
- func main() {
- ip, start_time, end_time, p, tmptime, tmpkey, id1, id2, stype, q, bkey, param, ids, path, start, infoid := "", 0, 0, 0, 0, "", "", "", "", "", "", "", "", "", "", ""
- flag.StringVar(&startDate, "startDate", "", "开始日期2006-01-02")
- flag.StringVar(&endDate, "endDate", "", "结束日期2006-01-02")
- flag.StringVar(&ip, "ip", "127.0.0.1", "ip")
- flag.IntVar(&p, "p", 6601, "端口")
- flag.IntVar(&tmptime, "tmptime", 0, "时间查询")
- flag.IntVar(&start_time, "start_time", 0, "开始时间戳")
- flag.IntVar(&end_time, "end_time", 0, "结束时间戳")
- flag.StringVar(&tmpkey, "tmpkey", "", "时间字段")
- flag.StringVar(&id1, "gtid", "", "gtid")
- flag.StringVar(&id2, "lteid", "", "lteid")
- flag.StringVar(&infoid, "infoid", "", "infoid")
- flag.StringVar(&path, "path", "", "path") // 指定路径
- flag.StringVar(&start, "start", "", "start") // 开始标志
- flag.StringVar(&ids, "ids", "", "id1,id2")
- flag.StringVar(&stype, "stype", "", "stype,传递类型")
- flag.StringVar(&bkey, "bkey", "", "bkey,加上此参数表示不生关键词和摘要")
- flag.StringVar(&q, "q", "", "q查询语句\"{'':''}\",有q就不要gtid,lteid")
- flag.StringVar(¶m, "param", "", "param,生信息发布或其他索引时用双引号套单引号\"{'mgoaddr':'','d':'','c':'','index':'','type':''}\"")
- flag.Parse()
- //if startDate != "" || endDate != "" {
- // start, _ := time.ParseInLocation(qutil.Date_Short_Layout, startDate, time.Local)
- // end, _ := time.ParseInLocation(qutil.Date_Short_Layout, endDate, time.Local)
- // id1 = qutil.BsonIdToSId(bson.NewObjectIdWithTime(start))
- // id2 = qutil.BsonIdToSId(bson.NewObjectIdWithTime(end))
- log.Println(id1, id2, tmptime)
- //}
- if ip != "" && p > 0 {
- toadd := &net.UDPAddr{
- IP: net.ParseIP(ip),
- Port: p,
- }
- UdpClient := udp.UdpClient{Local: ":50010", BufSize: 1024}
- UdpClient.Listen(func(b byte, data []byte, add *net.UDPAddr) {
- switch b {
- case udp.OP_NOOP:
- log.Println(string(data))
- os.Exit(0)
- }
- })
- m1 := map[string]interface{}{}
- if stype != "" {
- m1["stype"] = stype
- }
- if id1 != "" {
- m1["gtid"] = id1
- }
- if id2 != "" {
- m1["lteid"] = id2
- }
- if infoid != "" {
- m1["infoid"] = infoid
- }
- if path != "" {
- m1["path"] = path
- }
- if start != "" {
- m1["start"] = start
- }
- // 针对qyxy_es 企业数据,传递时间戳
- if start_time > 0 {
- m1["start_time"] = start_time
- }
- if end_time > 0 {
- m1["end_time"] = end_time
- }
- if bkey != "" {
- m1["bkey"] = bkey
- }
- if ids != "" {
- m1["ids"] = ids
- }
- if q != "" {
- m1["query"] = mongodb.ObjToMQ(q, true) //qutil.ObjToMap(q)
- }
- if tmptime > 0 && tmpkey != "" {
- m1["query"] = map[string]interface{}{tmpkey: map[string]interface{}{"$gte": tmptime}}
- }
- if param != "" {
- pm := util.ObjToMap(param)
- for k, v := range *pm {
- m1[k] = v
- }
- }
- by, _ := json.Marshal(m1)
- UdpClient.WriteUdp(by, udp.OP_TYPE_DATA, toadd)
- time.Sleep(30 * time.Second)
- } else {
- flag.PrintDefaults()
- log.Println("参数错误.")
- }
- }
|