统一导出任务
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m4s

This commit is contained in:
2026-04-27 09:47:03 +08:00
parent 531de3c760
commit 60debb7505
29 changed files with 2580 additions and 0 deletions

View File

@@ -46,6 +46,27 @@ func RedisTaskStatusKey(taskID string) string {
return fmt.Sprintf("task:status:%s", taskID)
}
// RedisExportDispatchLockKey 生成导出 dispatch 执行锁的 Redis 键
// 用途:防止同一导出任务并发执行 dispatch
// 过期时间5 分钟
func RedisExportDispatchLockKey(taskID uint) string {
return fmt.Sprintf("export:dispatch:lock:%d", taskID)
}
// RedisExportShardLockKey 生成导出分片执行锁的 Redis 键
// 用途:防止同一分片被多个 Worker 并发处理
// 过期时间10 分钟
func RedisExportShardLockKey(taskID, shardID uint) string {
return fmt.Sprintf("export:shard:lock:%d:%d", taskID, shardID)
}
// RedisExportFinalizeLockKey 生成导出 finalize 执行锁的 Redis 键
// 用途:防止同一导出任务并发执行 finalize
// 过期时间2 分钟
func RedisExportFinalizeLockKey(taskID uint) string {
return fmt.Sprintf("export:finalize:lock:%d", taskID)
}
// RedisShopSubordinatesKey 生成店铺下级 ID 列表的 Redis 键
// 用途:缓存递归查询的下级店铺 ID 列表
// 过期时间30 分钟