{"record":{"id":"065744fd08b9c8bd","repo":"Tencent/WeKnora","slug":"failed-to-initialize-task-w","errorCode":null,"errorMessage":"failed to initialize task: %w","messagePattern":"failed to initialize task: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/application/service/knowledge_faq_import.go","lineNumber":119,"sourceCode":"\tprogress := &types.FAQImportProgress{\n\t\tTaskID:        taskID,\n\t\tKBID:          kbID,\n\t\tKnowledgeID:   knowledgeID,\n\t\tStatus:        types.FAQImportStatusPending,\n\t\tProgress:      0,\n\t\tTotal:         len(payload.Entries),\n\t\tProcessed:     0,\n\t\tSuccessCount:  0,\n\t\tFailedCount:   0,\n\t\tFailedEntries: make([]types.FAQFailedEntry, 0),\n\t\tMessage:       \"任务已创建，等待处理\",\n\t\tCreatedAt:     time.Now().Unix(),\n\t\tUpdatedAt:     time.Now().Unix(),\n\t\tDryRun:        payload.DryRun,\n\t}\n\tif err := s.saveFAQImportProgress(ctx, progress); err != nil {\n\t\tlogger.Errorf(ctx, \"Failed to initialize FAQ import task status: %v\", err)\n\t\treturn \"\", fmt.Errorf(\"failed to initialize task: %w\", err)\n\t}\n\n\tlogger.Infof(ctx, \"FAQ import task initialized: %s, kb_id: %s, total entries: %d, dry_run: %v\",\n\t\ttaskID, kbID, len(payload.Entries), payload.DryRun)\n\n\t// Enqueue FAQ import task to Asynq\n\tlogger.Info(ctx, \"Enqueuing FAQ import task to Asynq\")\n\n\t// 构建任务 payload\n\ttaskPayload := types.FAQImportPayload{\n\t\tTenantID:    tenantID,\n\t\tTaskID:      taskID,\n\t\tKBID:        kbID,\n\t\tKnowledgeID: knowledgeID,\n\t\tMode:        payload.Mode,\n\t\tDryRun:      payload.DryRun,\n\t\tEnqueuedAt:  enqueuedAt,\n\t\tInstanceID:  instanceID,","sourceCodeStart":101,"sourceCodeEnd":137,"githubUrl":"https://github.com/Tencent/WeKnora/blob/988cbb03305e055d8ebb7d46d9ac6cc0803cd074/internal/application/service/knowledge_faq_import.go#L101-L137","documentation":"Thrown when saveFAQImportProgress fails to persist the initial FAQImportProgress record (status pending) for the newly created import task, typically a Redis write failure. The task cannot be tracked, so the import aborts before enqueueing.","triggerScenarios":"Thrown at internal/application/service/knowledge_faq_import.go:119 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check Redis availability and retry the import request","Verify the progress key is writable and not blocked by eviction policy or ACLs","Confirm the task ID / key format is not colliding with an existing record"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"988cbb03305e055d8ebb7d46d9ac6cc0803cd074","analyzedAt":"2026-09-02T14:41:08.344Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}