示例 1: 步骤触发
()
| 37 | |
| 38 | // 示例 1: 步骤触发 |
| 39 | func 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: 时间间隔触发 |
| 68 | func demonstrateIntervalTrigger() { |
no test coverage detected