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

Function demonstrateTaskCancellation

examples/scheduler/main.go:159–185  ·  view source on GitHub ↗

示例 5: 任务取消

()

Source from the content-addressed store, hash-verified

157
158// 示例 5: 任务取消
159func 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: 触发回调监控
188func demonstrateTriggerMonitoring() {

Callers 1

mainFunction · 0.85

Calls 5

ShutdownMethod · 0.95
EveryIntervalMethod · 0.95
CancelMethod · 0.95
NewSchedulerFunction · 0.92
PrintfMethod · 0.80

Tested by

no test coverage detected