Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6efdac7bab | ||
|
|
788cb2e6d4 |
@@ -2,6 +2,7 @@ package gameAct
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
@@ -146,7 +147,8 @@ func (s *sGameAct) Save(ctx context.Context, actId int) (err error) {
|
|||||||
err = tools.Redis.RedisScanV2(cacheKey, func(keys []string) (err error) {
|
err = tools.Redis.RedisScanV2(cacheKey, func(keys []string) (err error) {
|
||||||
//判断是否超时
|
//判断是否超时
|
||||||
if gtime.Now().After(RunTimeMax) {
|
if gtime.Now().After(RunTimeMax) {
|
||||||
g.Log().Debug(ctx, "执行超时了,停止执行!")
|
g.Log().Debug(ctx, "act执行超时了,停止执行!")
|
||||||
|
err = errors.New("act执行超时了,停止执行!")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
var add = make([]*entity.GameAct, 0)
|
var add = make([]*entity.GameAct, 0)
|
||||||
@@ -209,10 +211,11 @@ func (s *sGameAct) Save(ctx context.Context, actId int) (err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//批量写入数据库
|
//批量写入数据库
|
||||||
|
updateCount := 0
|
||||||
if len(delKey) > 0 {
|
if len(delKey) > 0 {
|
||||||
for _, v := range update {
|
for _, v := range update {
|
||||||
v.UpdatedAt = gtime.Now()
|
v.UpdatedAt = gtime.Now()
|
||||||
_, err2 := g.Model(Name).Where(do.GameAct{
|
updateRes, err2 := g.Model(Name).Where(do.GameAct{
|
||||||
Uid: v.Uid,
|
Uid: v.Uid,
|
||||||
ActId: v.ActId,
|
ActId: v.ActId,
|
||||||
}).Data(v).Update()
|
}).Data(v).Update()
|
||||||
@@ -220,7 +223,14 @@ func (s *sGameAct) Save(ctx context.Context, actId int) (err error) {
|
|||||||
g.Log().Error(ctx, err2)
|
g.Log().Error(ctx, err2)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if row, _ := updateRes.RowsAffected(); row == 0 {
|
||||||
|
g.Log().Error(ctx, "本次更新为0,更新数据失败: %v", v)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
updateCount++
|
||||||
|
}
|
||||||
|
g.Log().Debugf(ctx, "当前 %v 更新数据库: %v 条", actId, updateCount)
|
||||||
|
|
||||||
update = make([]*entity.GameAct, 0)
|
update = make([]*entity.GameAct, 0)
|
||||||
var count int64
|
var count int64
|
||||||
|
|
||||||
@@ -233,6 +243,7 @@ func (s *sGameAct) Save(ctx context.Context, actId int) (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
count, _ = dbRes.RowsAffected()
|
count, _ = dbRes.RowsAffected()
|
||||||
|
g.Log().Debugf(ctx, "当前 %v 写入数据库: %v 条", actId, count)
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, v := range delKey {
|
for _, v := range delKey {
|
||||||
@@ -243,7 +254,6 @@ func (s *sGameAct) Save(ctx context.Context, actId int) (err error) {
|
|||||||
}
|
}
|
||||||
delKey = make([]string, 0)
|
delKey = make([]string, 0)
|
||||||
|
|
||||||
g.Log().Debugf(ctx, "当前 %v 写入数据库: %v 条", actId, count)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package gameKv
|
package gameKv
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
@@ -56,7 +57,8 @@ func (s *sGameKv) SavesV1() (err error) {
|
|||||||
err = tools.Redis.RedisScanV2("user:kv:*", func(keys []string) (err error) {
|
err = tools.Redis.RedisScanV2("user:kv:*", func(keys []string) (err error) {
|
||||||
//判断是否超时
|
//判断是否超时
|
||||||
if gtime.Now().After(RunTimeMax) {
|
if gtime.Now().After(RunTimeMax) {
|
||||||
g.Log().Error(ctx, "执行超时了,停止执行!")
|
g.Log().Error(ctx, "kv执行超时了,停止执行!")
|
||||||
|
err = errors.New("kv执行超时了,停止执行!")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -70,6 +70,9 @@ func (r *redis) RedisScanV2(cacheKey string, _func func([]string) error, _key ..
|
|||||||
|
|
||||||
if len(newKeys) > 0 {
|
if len(newKeys) > 0 {
|
||||||
err = _func(newKeys)
|
err = _func(newKeys)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//这个要放在最后
|
//这个要放在最后
|
||||||
|
|||||||
Reference in New Issue
Block a user