|
@@ -20,22 +20,26 @@ var domainClearReg = regexp.MustCompile(`((http|https)[::]//)+`)
|
|
|
var htmlModelReg = regexp.MustCompile(`{{[a-zA-z.()\d,:]{5,}}}`)
|
|
|
var siteReg = regexp.MustCompile(`(政府采购|公共资源)`)
|
|
|
var saveothernum = 0
|
|
|
+var saveyqnum = 0
|
|
|
var savenum = 0
|
|
|
var savefilenum = 0
|
|
|
var tmpsavenum = 0
|
|
|
var updatenum = 0
|
|
|
var errnum = 0
|
|
|
var saveotherlock *sync.Mutex = new(sync.Mutex) //保存临时锁
|
|
|
+var saveyqlock *sync.Mutex = new(sync.Mutex) //保存临时锁
|
|
|
var savelock *sync.Mutex = new(sync.Mutex) //保存锁
|
|
|
var savefilelock *sync.Mutex = new(sync.Mutex) //保存附件信息锁
|
|
|
var updatelock *sync.Mutex = new(sync.Mutex) //更新锁
|
|
|
//var errorlock *sync.Mutex = new(sync.Mutex) //异常数据锁
|
|
|
var SaveOtherCache = []map[string]interface{}{} //批量保存临时
|
|
|
+var SaveYqCache = []map[string]interface{}{} //批量保存临时
|
|
|
var SaveCache = []map[string]interface{}{} //批量保存
|
|
|
var SaveFileCache = []map[string]interface{}{} //批量保存附件信息
|
|
|
var UpdateCache = [][]map[string]interface{}{} //批量更新
|
|
|
//var ErrorCache = []map[string]interface{}{} //异常数据集
|
|
|
var SaveOtherLastTime = time.Now().Unix()
|
|
|
+var SaveYqLastTime = time.Now().Unix()
|
|
|
var SaveLastTime = time.Now().Unix()
|
|
|
var SaveFileLastTime = time.Now().Unix()
|
|
|
var UpdateLastTime = time.Now().Unix()
|
|
@@ -44,6 +48,17 @@ var SaveColl = "bidding"
|
|
|
var SaveFileColl = "bidding_file"
|
|
|
var ErrColl = "spider_warn"
|
|
|
var SaveOtherColl = "bidding_other" //临时存储不用的数据
|
|
|
+var SaveYqColl = "bidding_yq" //舆情信息存储表
|
|
|
+
|
|
|
+//批量保存舆情数据
|
|
|
+func saveYqMust() {
|
|
|
+ saveyqnum += len(SaveYqCache)
|
|
|
+ tools.Mgo.SaveBulk(SaveYqColl, SaveYqCache...)
|
|
|
+ go log.Println("saveYqMust:", saveyqnum)
|
|
|
+ time.Sleep(time.Second * 2)
|
|
|
+ SaveYqCache = []map[string]interface{}{}
|
|
|
+ SaveYqLastTime = time.Now().Unix()
|
|
|
+}
|
|
|
|
|
|
//批量保存临时数据
|
|
|
func saveOtherMust() {
|
|
@@ -100,6 +115,18 @@ func updateMust() {
|
|
|
|
|
|
//定时保存
|
|
|
func TimerSave() {
|
|
|
+ //批量保存bidding_yq
|
|
|
+ go func() {
|
|
|
+ for {
|
|
|
+ now := time.Now().Unix()
|
|
|
+ saveyqlock.Lock()
|
|
|
+ if now-SaveYqLastTime > 60 && len(SaveYqCache) > 0 {
|
|
|
+ saveYqMust() //
|
|
|
+ }
|
|
|
+ saveyqlock.Unlock()
|
|
|
+ time.Sleep(30 * time.Second)
|
|
|
+ }
|
|
|
+ }()
|
|
|
//批量保存bidding_other
|
|
|
go func() {
|
|
|
for {
|