|
@@ -17,10 +17,8 @@ import (
|
|
|
//历史判重
|
|
|
func historyRepeat() {
|
|
|
defer util.Catch()
|
|
|
-
|
|
|
for {
|
|
|
start:=time.Now().Unix()
|
|
|
-
|
|
|
if gtid=="" {
|
|
|
log.Println("请传gtid,否则无法运行")
|
|
|
os.Exit(0)
|
|
@@ -32,7 +30,6 @@ func historyRepeat() {
|
|
|
moveHistoryData(gtid,lteid)
|
|
|
gtid = lteid //替换数据
|
|
|
}
|
|
|
-
|
|
|
//查询表最后一个id
|
|
|
task_sess := task_mgo.GetMgoConn()
|
|
|
defer task_mgo.DestoryMongoConn(task_sess)
|
|
@@ -64,8 +61,8 @@ func historyRepeat() {
|
|
|
log.Println("查询完毕-找到有标记的lteid-先睡眠5分钟",gtid,lteid)
|
|
|
time.Sleep(5 * time.Minute)
|
|
|
|
|
|
- sess := mgo.GetMgoConn()//连接器
|
|
|
- defer mgo.DestoryMongoConn(sess)
|
|
|
+ sess := data_mgo.GetMgoConn()//连接器
|
|
|
+ defer data_mgo.DestoryMongoConn(sess)
|
|
|
//开始判重
|
|
|
q = map[string]interface{}{
|
|
|
"_id": map[string]interface{}{
|
|
@@ -74,7 +71,7 @@ func historyRepeat() {
|
|
|
},
|
|
|
}
|
|
|
log.Println("历史判重查询条件:",q,"时间:", between_time)
|
|
|
- it := sess.DB(mgo.DbName).C(extract).Find(&q).Sort("publishtime").Iter()
|
|
|
+ it := sess.DB(data_mgo.DbName).C(extract).Find(&q).Sort("publishtime").Iter()
|
|
|
num,oknum,outnum, deterTime:= int64(0),int64(0),int64(0),int64(0) //计数
|
|
|
pendAllArr:=[][]map[string]interface{}{}//待处理数组
|
|
|
dayArr := []map[string]interface{}{}
|
|
@@ -216,13 +213,12 @@ func historyRepeat() {
|
|
|
},
|
|
|
}
|
|
|
if len(groupOtherExtract) >= 500 {
|
|
|
- mgo.UpSertBulk(extract_back, groupOtherExtract...)
|
|
|
+ data_mgo.UpSertBulk(extract_back, groupOtherExtract...)
|
|
|
groupOtherExtract = [][]map[string]interface{}{}
|
|
|
}
|
|
|
|
|
|
updatelock.Unlock()
|
|
|
|
|
|
-
|
|
|
} else {
|
|
|
Update.updatePool <- []map[string]interface{}{//重复数据打标签
|
|
|
map[string]interface{}{
|
|
@@ -240,7 +236,7 @@ func historyRepeat() {
|
|
|
//每组数据结束-更新数据
|
|
|
updatelock.Lock()
|
|
|
if len(groupOtherExtract) > 0 {
|
|
|
- mgo.UpSertBulk(extract_back, groupOtherExtract...)
|
|
|
+ data_mgo.UpSertBulk(extract_back, groupOtherExtract...)
|
|
|
}
|
|
|
updatelock.Unlock()
|
|
|
|
|
@@ -299,8 +295,8 @@ func judgeIsCurIds (gtid string,lteid string,curid string) bool {
|
|
|
}
|
|
|
//迁移上一段数据
|
|
|
func moveHistoryData(startid string,endid string) {
|
|
|
- sess := mgo.GetMgoConn()
|
|
|
- defer mgo.DestoryMongoConn(sess)
|
|
|
+ sess := data_mgo.GetMgoConn()
|
|
|
+ defer data_mgo.DestoryMongoConn(sess)
|
|
|
year, month, day := time.Now().Date()
|
|
|
q := map[string]interface{}{
|
|
|
"_id": map[string]interface{}{
|
|
@@ -309,10 +305,10 @@ func moveHistoryData(startid string,endid string) {
|
|
|
},
|
|
|
}
|
|
|
log.Println(q)
|
|
|
- it := sess.DB(mgo.DbName).C(extract).Find(&q).Iter()
|
|
|
+ it := sess.DB(data_mgo.DbName).C(extract).Find(&q).Iter()
|
|
|
index := 0
|
|
|
for tmp := make(map[string]interface{}); it.Next(&tmp); index++ {
|
|
|
- mgo.Save(extract_back, tmp)
|
|
|
+ data_mgo.Save(extract_back, tmp)
|
|
|
tmp = map[string]interface{}{}
|
|
|
if index%1000 == 0 {
|
|
|
log.Println("index", index)
|
|
@@ -325,7 +321,7 @@ func moveHistoryData(startid string,endid string) {
|
|
|
"$lt": time.Date(year, month, day, 0, 0, 0, 0, time.Local).Add(-time.Duration(dupdays+1) * 24 * time.Hour*2).Unix(),
|
|
|
},
|
|
|
}
|
|
|
- delnum := mgo.Delete(extract, qv)
|
|
|
+ delnum := data_mgo.Delete(extract, qv)
|
|
|
log.Println("remove from ", extract, delnum)
|
|
|
|
|
|
}
|
|
@@ -346,8 +342,8 @@ func moveTimeoutData() {
|
|
|
}
|
|
|
func moveOnceTimeOut() {
|
|
|
log.Println("执行一次迁移超时数据")
|
|
|
- sess := mgo.GetMgoConn()
|
|
|
- defer mgo.DestoryMongoConn(sess)
|
|
|
+ sess := data_mgo.GetMgoConn()
|
|
|
+ defer data_mgo.DestoryMongoConn(sess)
|
|
|
now:=time.Now()
|
|
|
|
|
|
move_time := time.Date(now.Year()-2, now.Month(), now.Day(), 0, 0, 0, 0, time.Local)
|
|
@@ -358,15 +354,15 @@ func moveOnceTimeOut() {
|
|
|
},
|
|
|
}
|
|
|
|
|
|
- it := sess.DB(mgo.DbName).C("result_20200714").Find(&q).Iter()
|
|
|
+ it := sess.DB(data_mgo.DbName).C("result_20200714").Find(&q).Iter()
|
|
|
index := 0
|
|
|
for tmp := make(map[string]interface{}); it.Next(&tmp); index++ {
|
|
|
if index%10000 == 0 {
|
|
|
log.Println("index", index)
|
|
|
}
|
|
|
del_id:=BsonTOStringId(tmp["_id"])
|
|
|
- mgo.Save("result_20200713", tmp)
|
|
|
- mgo.DeleteById("result_20200714",del_id)
|
|
|
+ data_mgo.Save("result_20200713", tmp)
|
|
|
+ data_mgo.DeleteById("result_20200714",del_id)
|
|
|
tmp = map[string]interface{}{}
|
|
|
}
|
|
|
log.Println("save and delete", " ok index", index)
|