MCPcopy Create free account
hub / github.com/tbphp/gpt-load / EndTask

Method EndTask

internal/services/task_service.go:121–146  ·  view source on GitHub ↗

EndTask marks the current task as finished and stores its final result.

(resultData any, taskErr error)

Source from the content-addressed store, hash-verified

119
120// EndTask marks the current task as finished and stores its final result.
121func (s *TaskService) EndTask(resultData any, taskErr error) error {
122 status, err := s.GetTaskStatus()
123 if err != nil {
124 return fmt.Errorf("failed to get task object to end task: %w", err)
125 }
126 if !status.IsRunning {
127 return nil
128 }
129
130 now := time.Now()
131 status.IsRunning = false
132 status.FinishedAt = &now
133 status.DurationSeconds = now.Sub(status.StartedAt).Seconds()
134 if taskErr != nil {
135 status.Error = taskErr.Error()
136 } else {
137 status.Result = resultData
138 }
139
140 updatedTaskBytes, err := json.Marshal(status)
141 if err != nil {
142 return fmt.Errorf("failed to serialize final task status: %w", err)
143 }
144
145 return s.store.Set(globalTaskKey, updatedTaskBytes, ResultTTL)
146}

Callers 3

runDeleteMethod · 0.80
runImportMethod · 0.80
runValidationMethod · 0.80

Calls 3

GetTaskStatusMethod · 0.95
SetMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected