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

Function demonstrateStepTrigger

examples/scheduler/main.go:39–65  ·  view source on GitHub ↗

示例 1: 步骤触发

()

Source from the content-addressed store, hash-verified

37
38// 示例 1: 步骤触发
39func demonstrateStepTrigger() {
40 fmt.Println("--- 示例 1: 步骤触发 ---")
41
42 scheduler := core.NewScheduler(nil)
43 defer scheduler.Shutdown()
44
45 // 每 3 步执行一次
46 taskID, err := scheduler.EverySteps(3, func(ctx context.Context, stepCount int) error {
47 fmt.Printf("✓ 步骤任务触发: 第 %d 步\n", stepCount)
48 return nil
49 })
50
51 if err != nil {
52 log.Fatalf("创建步骤任务失败: %v", err)
53 }
54
55 fmt.Printf("步骤任务已创建: %s\n", taskID)
56
57 // 模拟 Agent 执行多个步骤
58 for i := 1; i <= 10; i++ {
59 scheduler.NotifyStep(i)
60 time.Sleep(100 * time.Millisecond)
61 }
62
63 time.Sleep(200 * time.Millisecond)
64 fmt.Println()
65}
66
67// 示例 2: 时间间隔触发
68func demonstrateIntervalTrigger() {

Callers 1

mainFunction · 0.85

Calls 5

ShutdownMethod · 0.95
EveryStepsMethod · 0.95
NotifyStepMethod · 0.95
NewSchedulerFunction · 0.92
PrintfMethod · 0.80

Tested by

no test coverage detected