示例 5: 任务取消
()
| 157 | |
| 158 | // 示例 5: 任务取消 |
| 159 | func demonstrateTaskCancellation() { |
| 160 | fmt.Println("--- 示例 5: 任务取消 ---") |
| 161 | |
| 162 | scheduler := core.NewScheduler(nil) |
| 163 | defer scheduler.Shutdown() |
| 164 | |
| 165 | // 创建定时任务 |
| 166 | taskID, _ := scheduler.EveryInterval(300*time.Millisecond, func(ctx context.Context) error { |
| 167 | fmt.Println(" ⏰ 定时任务执行") |
| 168 | return nil |
| 169 | }) |
| 170 | |
| 171 | fmt.Printf("任务 %s 已创建,运行 1 秒...\n", taskID) |
| 172 | time.Sleep(1 * time.Second) |
| 173 | |
| 174 | // 取消任务 |
| 175 | err := scheduler.Cancel(taskID) |
| 176 | if err != nil { |
| 177 | log.Printf("取消任务失败: %v", err) |
| 178 | } else { |
| 179 | fmt.Println("✓ 任务已取消") |
| 180 | } |
| 181 | |
| 182 | fmt.Println("再等待 1 秒,验证任务已停止...") |
| 183 | time.Sleep(1 * time.Second) |
| 184 | fmt.Println() |
| 185 | } |
| 186 | |
| 187 | // 示例 6: 触发回调监控 |
| 188 | func demonstrateTriggerMonitoring() { |
no test coverage detected