给上报到elasticsearch的文档加_id, 管用了,不再依赖redis的getsetkey机制来防止插入重复key
This commit is contained in:
		
							parent
							
								
									d55afe2b85
								
							
						
					
					
						commit
						49fbe8c35c
					
				@ -277,10 +277,6 @@ func (mx *MaX) SetToKey() ([]interface{}, error) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// 保证同一个 period, keyName ,在一个周期里,SaveToSortSet只会被执行一次
 | 
					// 保证同一个 period, keyName ,在一个周期里,SaveToSortSet只会被执行一次
 | 
				
			||||||
func (core *Core) SaveUniKey(period string, keyName string, extt time.Duration, tsi int64, cl *Candle) {
 | 
					func (core *Core) SaveUniKey(period string, keyName string, extt time.Duration, tsi int64, cl *Candle) {
 | 
				
			||||||
	refName := keyName + "|refer"
 | 
					 | 
				
			||||||
	refRes, _ := core.RedisCli.GetSet(refName, 1).Result()
 | 
					 | 
				
			||||||
	core.RedisCli.Expire(refName, extt)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	did := cl.InstId + cl.Period + cl.Data[0].(string)
 | 
						did := cl.InstId + cl.Period + cl.Data[0].(string)
 | 
				
			||||||
	cl.Id = hashString(did)
 | 
						cl.Id = hashString(did)
 | 
				
			||||||
	cl.ToStruct(core)
 | 
						cl.ToStruct(core)
 | 
				
			||||||
@ -290,11 +286,12 @@ func (core *Core) SaveUniKey(period string, keyName string, extt time.Duration,
 | 
				
			|||||||
		Tag:     "sardine.log.candle." + cl.Period,
 | 
							Tag:     "sardine.log.candle." + cl.Period,
 | 
				
			||||||
		Id:      hashString(did),
 | 
							Id:      hashString(did),
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	// go func() {
 | 
					 | 
				
			||||||
	core.WriteLogChan <- &wg
 | 
						core.WriteLogChan <- &wg
 | 
				
			||||||
	// }()
 | 
					 | 
				
			||||||
	// err = wg.Process(core)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						refName := keyName + "|refer"
 | 
				
			||||||
 | 
						refRes, _ := core.RedisCli.GetSet(refName, 1).Result()
 | 
				
			||||||
 | 
						core.RedisCli.Expire(refName, extt)
 | 
				
			||||||
 | 
						// 为保证唯一性机制,防止SaveToSortSet 被重复执行
 | 
				
			||||||
	if len(refRes) != 0 {
 | 
						if len(refRes) != 0 {
 | 
				
			||||||
		fmt.Println("refName exist: ", refName)
 | 
							fmt.Println("refName exist: ", refName)
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user