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

Function NewFileTaskManager

pkg/tools/builtin/task_manager.go:81–104  ·  view source on GitHub ↗

NewFileTaskManager 创建基于文件的任务管理器

()

Source from the content-addressed store, hash-verified

79
80// NewFileTaskManager 创建基于文件的任务管理器
81func NewFileTaskManager() *FileTaskManager {
82 // 创建数据目录
83 dataDir := filepath.Join(os.TempDir(), "agentsdk_tasks")
84 outputDir := filepath.Join(dataDir, "outputs")
85
86 // 确保目录存在
87 _ = os.MkdirAll(dataDir, 0755)
88 _ = os.MkdirAll(outputDir, 0755)
89
90 tm := &FileTaskManager{
91 tasks: make(map[string]*TaskInfo),
92 dataDir: dataDir,
93 outputDir: outputDir,
94 cleanupChan: make(chan string, 100),
95 }
96
97 // 加载现有任务
98 _ = tm.loadTasks()
99
100 // 启动清理协程
101 go tm.cleanupRoutine()
102
103 return tm
104}
105
106// StartTask 启动后台任务
107func (tm *FileTaskManager) StartTask(ctx context.Context, cmd string, opts *TaskOptions) (*TaskInfo, error) {

Callers 1

initFunction · 0.85

Calls 3

loadTasksMethod · 0.95
cleanupRoutineMethod · 0.95
JoinMethod · 0.45

Tested by

no test coverage detected