refactor(idgen): centralize negative ID handling via panic

Restore NextUint64ID() to uint64-only API so callers need no error
checks. Retry logic stays in idgen; after 3 negative values it panics
instead of returning 0, preventing silent NULL primary keys.
This commit is contained in:
ryan
2026-06-17 13:14:17 +08:00
parent 92dc6a59c0
commit 3a05e7f09c
11 changed files with 17 additions and 68 deletions
+3 -10
View File
@@ -115,10 +115,7 @@ func DispatchTask(ctx context.Context, taskType string, payload []byte, triggere
}
// 生成唯一的 TaskID
taskID, err := generateTaskID(taskType, triggeredBy)
if err != nil {
return "", err
}
taskID := generateTaskID(taskType, triggeredBy)
// 创建任务执行记录
execution := &model.TaskExecution{
@@ -456,12 +453,8 @@ func handleSuccessfulTask(ctx context.Context, execution *model.TaskExecution, t
}
// generateTaskID 生成任务 ID
func generateTaskID(taskType string, triggeredBy string) (string, error) {
uniqueID, err := idgen.NextUint64ID()
if err != nil {
return "", err
}
return fmt.Sprintf("%s_%s_%d", triggeredBy, taskType, uniqueID), nil
func generateTaskID(taskType string, triggeredBy string) string {
return fmt.Sprintf("%s_%s_%d", triggeredBy, taskType, idgen.NextUint64ID())
}
// generateRetryTaskID 生成重试任务 ID