|
@@ -59,16 +59,12 @@ func (n *NoMsgTipJob) Execute(taskType int) {
|
|
lock := &sync.Mutex{}
|
|
lock := &sync.Mutex{}
|
|
allTipsA, allTipsB := []*UserInfo{}, []*UserInfo{}
|
|
allTipsA, allTipsB := []*UserInfo{}, []*UserInfo{}
|
|
for temp := make(map[string]interface{}); it.Next(&temp); {
|
|
for temp := make(map[string]interface{}); it.Next(&temp); {
|
|
- isTake := MonitorTimeOut(pushPool, time.Minute, Config.TimeoutWarn, func() {
|
|
|
|
- logger.Error("推送任务", taskType, "推送放入通道超时,", temp["_id"])
|
|
|
|
- })
|
|
|
|
|
|
+ pushPool <- true
|
|
pushWait.Add(1)
|
|
pushWait.Add(1)
|
|
- go func(m map[string]interface{}, take bool) {
|
|
|
|
|
|
+ go func(m map[string]interface{}) {
|
|
defer util.Catch()
|
|
defer util.Catch()
|
|
defer func() {
|
|
defer func() {
|
|
- if take {
|
|
|
|
- <-pushPool
|
|
|
|
- }
|
|
|
|
|
|
+ <-pushPool
|
|
pushWait.Done()
|
|
pushWait.Done()
|
|
}()
|
|
}()
|
|
user := NewUserInfo(m, 1)
|
|
user := NewUserInfo(m, 1)
|
|
@@ -91,7 +87,7 @@ func (n *NoMsgTipJob) Execute(taskType int) {
|
|
}
|
|
}
|
|
lock.Unlock()
|
|
lock.Unlock()
|
|
}
|
|
}
|
|
- }(temp, isTake)
|
|
|
|
|
|
+ }(temp)
|
|
temp = make(map[string]interface{})
|
|
temp = make(map[string]interface{})
|
|
}
|
|
}
|
|
pushWait.Wait()
|
|
pushWait.Wait()
|
|
@@ -108,7 +104,9 @@ func (n *NoMsgTipJob) Execute(taskType int) {
|
|
}
|
|
}
|
|
n.beforeTip(taskType, allTipsA, wxTplSurplus, noMsgTipLastId)
|
|
n.beforeTip(taskType, allTipsA, wxTplSurplus, noMsgTipLastId)
|
|
n.beforeTip(taskType, allTipsB, wxTplSurplus, noMsgTipLastId)
|
|
n.beforeTip(taskType, allTipsB, wxTplSurplus, noMsgTipLastId)
|
|
- Task.NoMsgTipLastId = noMsgTipLastId.Load().(string)
|
|
|
|
|
|
+ if noMsgTipLastId.Load() != nil {
|
|
|
|
+ Task.NoMsgTipLastId = noMsgTipLastId.Load().(string)
|
|
|
|
+ }
|
|
util.WriteSysConfig("./task.json", &Task)
|
|
util.WriteSysConfig("./task.json", &Task)
|
|
logger.Info("无消息提醒任务结束。。。", taskType)
|
|
logger.Info("无消息提醒任务结束。。。", taskType)
|
|
}
|
|
}
|
|
@@ -159,6 +157,7 @@ func (n *NoMsgTipJob) beforeTip(taskType int, allTip []*UserInfo, wxTplSurplus i
|
|
n.toTip(taskType, user, wxTplSurplus, noMsgTipLastId)
|
|
n.toTip(taskType, user, wxTplSurplus, noMsgTipLastId)
|
|
}(v, isTake)
|
|
}(v, isTake)
|
|
}
|
|
}
|
|
|
|
+ pushWait.Wait()
|
|
}
|
|
}
|
|
|
|
|
|
//
|
|
//
|