MCPcopy Create free account
hub / github.com/astercloud/aster / GetStatus

Method GetStatus

pkg/tools/long_running.go:163–182  ·  view source on GitHub ↗

GetStatus 获取任务状态

(ctx context.Context, taskID string)

Source from the content-addressed store, hash-verified

161
162// GetStatus 获取任务状态
163func (e *LongRunningExecutor) GetStatus(ctx context.Context, taskID string) (*TaskStatus, error) {
164 value, ok := e.tasks.Load(taskID)
165 if !ok {
166 return nil, fmt.Errorf("task not found: %s", taskID)
167 }
168
169 status := value.(*TaskStatus)
170
171 // 返回副本,避免外部修改
172 return &TaskStatus{
173 TaskID: status.TaskID,
174 State: status.State,
175 Progress: status.Progress,
176 Result: status.Result,
177 Error: status.Error,
178 StartTime: status.StartTime,
179 EndTime: status.EndTime,
180 Metadata: copyMetadata(status.Metadata),
181 }, nil
182}
183
184// Cancel 取消任务
185func (e *LongRunningExecutor) Cancel(ctx context.Context, taskID string) error {

Callers 2

progressTrackingExampleFunction · 0.95
cancellationExampleFunction · 0.95

Calls 2

copyMetadataFunction · 0.85
LoadMethod · 0.65

Tested by

no test coverage detected