给上报到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