This commit is contained in:
Yun
2025-09-24 21:07:06 +08:00
parent 970a1ca33c
commit 16a392a266
+4 -2
View File
@@ -31,7 +31,8 @@ type Once struct {
cancel context.CancelFunc // cancel cancel context.CancelFunc // cancel
logger logger.Logger // 日志 logger logger.Logger // 日志
zsetKey string // 任务列表 有序集合 zsetKey string // 任务列表 有序集合
listKey string // listKey string // 列表
globalLockPrefix string // 全局锁的前缀
redis redis.UniversalClient // Redis redis redis.UniversalClient // Redis
worker Callback // 回调 worker Callback // 回调
keyPrefix string // keyPrefix string //
@@ -98,6 +99,7 @@ func InitOnce(ctx context.Context, re redis.UniversalClient, keyPrefix string, c
zsetKey: "timer:once_zsetkey" + keyPrefix, zsetKey: "timer:once_zsetkey" + keyPrefix,
listKey: "timer:once_listkey" + keyPrefix, listKey: "timer:once_listkey" + keyPrefix,
executeInfoKey: "timer:once_executeInfoKey" + keyPrefix, executeInfoKey: "timer:once_executeInfoKey" + keyPrefix,
globalLockPrefix: "timer:once_globalLockPrefix" + keyPrefix,
usePriority: op.usePriority, usePriority: op.usePriority,
redis: re, redis: re,
worker: call, worker: call,
@@ -434,7 +436,7 @@ func (l *Once) processTask(key string) {
} }
// 这里加一个全局锁 // 这里加一个全局锁
lock, err := lockx.NewGlobalLock(ctx, l.redis, key) lock, err := lockx.NewGlobalLock(ctx, l.redis, l.globalLockPrefix+key)
if err != nil { if err != nil {
l.logger.Errorf(ctx, "processTask timer:获取锁失败:%s", taskId) l.logger.Errorf(ctx, "processTask timer:获取锁失败:%s", taskId)
return return