|
@@ -19,6 +19,7 @@ const (
|
|
|
customCacheDb = "newother"
|
|
|
customDataCacheKey = "leadGeneration_customData_%s"
|
|
|
customDataCacheTimeLong = 60 * 60 * 24 * 30
|
|
|
+ customNewUserQueueKey = "leadGeneration_customData_newUserQueue"
|
|
|
)
|
|
|
|
|
|
// CustomManager 定制化报告管理
|
|
@@ -71,12 +72,7 @@ func (this *CustomManager) GetData(userId, keyWords string, isNew bool) map[stri
|
|
|
return rData
|
|
|
} else if isNew {
|
|
|
//加入优先查询队列
|
|
|
- go func() {
|
|
|
- newRegisterUserQueue <- &SearchEntity{
|
|
|
- UserId: userId,
|
|
|
- Value: keyWords,
|
|
|
- }
|
|
|
- }()
|
|
|
+ redis.RPUSH(customCacheDb, customNewUserQueueKey, userId)
|
|
|
}
|
|
|
return nil
|
|
|
}
|
|
@@ -139,8 +135,10 @@ func (this *CustomManager) UpdateUserGroupJob() {
|
|
|
this.UserGroup = newMap
|
|
|
log.Printf("[MANAGER-INFO]CustomManager UserGroup Changed Finish Total is %d \n", len(this.UserGroup))
|
|
|
go this.activityUserQueue(this.BatchFlag, userArr)
|
|
|
+ go this.newUserQueue(this.BatchFlag)
|
|
|
}
|
|
|
|
|
|
+//getUserGroup 获取用户群组
|
|
|
func (this *CustomManager) getUserGroup() (userIds []string) {
|
|
|
//当前批次是否已有数据
|
|
|
rData := public.UserAnalyseDb.SelectBySql("SELECT user_mongoid AS uid FROM user_leadGeneration_group WHERE group_type = 1 AND group_name=?", this.BatchFlag)
|
|
@@ -207,6 +205,25 @@ func (this *CustomManager) activityUserQueue(batchFlag string, userIds []string)
|
|
|
log.Printf("[MANAGER-INFO]CustomManager Batch %s Is Finished !!!\n", batchFlag)
|
|
|
}
|
|
|
|
|
|
+func (this *CustomManager) newUserQueue(batchFlag string) {
|
|
|
+ for {
|
|
|
+ if this.BatchFlag != batchFlag {
|
|
|
+ unFinishedNum := redis.LLEN(customCacheDb, customNewUserQueueKey)
|
|
|
+ if unFinishedNum > 0 {
|
|
|
+ redis.Del(customCacheDb, customNewUserQueueKey)
|
|
|
+ }
|
|
|
+ log.Printf("[MANAGER-INFO]CustomManager newUserQueue End unfinished %d \n", unFinishedNum)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if uid, _ := redis.LPOP(customCacheDb, customNewUserQueueKey).(string); uid != "" {
|
|
|
+ newRegisterUserQueue <- &SearchEntity{
|
|
|
+ UserId: uid,
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
// DoSearch 定制化分析报告查询队列
|
|
|
func (this *CustomManager) DoSearch() {
|
|
|
log.Printf("[MANAGER-INFO]CustomManager DoSearch Start\n")
|