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

Method ListTasks

pkg/tools/long_running.go:209–230  ·  view source on GitHub ↗

ListTasks 列出所有任务

(filter func(*TaskStatus) bool)

Source from the content-addressed store, hash-verified

207
208// ListTasks 列出所有任务
209func (e *LongRunningExecutor) ListTasks(filter func(*TaskStatus) bool) []*TaskStatus {
210 var tasks []*TaskStatus
211
212 e.tasks.Range(func(key, value any) bool {
213 status := value.(*TaskStatus)
214 if filter == nil || filter(status) {
215 tasks = append(tasks, &TaskStatus{
216 TaskID: status.TaskID,
217 State: status.State,
218 Progress: status.Progress,
219 Result: status.Result,
220 Error: status.Error,
221 StartTime: status.StartTime,
222 EndTime: status.EndTime,
223 Metadata: copyMetadata(status.Metadata),
224 })
225 }
226 return true
227 })
228
229 return tasks
230}
231
232// Cleanup 清理已完成的任务
233// 清理指定时间之前完成的任务

Callers 2

concurrentTasksExampleFunction · 0.95
cleanupExampleFunction · 0.95

Calls 1

copyMetadataFunction · 0.85

Tested by

no test coverage detected