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

Method EverySteps

pkg/core/scheduler.go:106–124  ·  view source on GitHub ↗

EverySteps 每 N 步执行一次

(every int, callback StepCallback)

Source from the content-addressed store, hash-verified

104
105// EverySteps 每 N 步执行一次
106func (s *Scheduler) EverySteps(every int, callback StepCallback) (string, error) {
107 if every <= 0 {
108 return "", fmt.Errorf("every must be positive, got %d", every)
109 }
110
111 s.mu.Lock()
112 defer s.mu.Unlock()
113
114 id := generateTaskID("step")
115 task := &StepTask{
116 ID: id,
117 Every: every,
118 Callback: callback,
119 LastTriggered: 0,
120 }
121
122 s.stepTasks[id] = task
123 return id, nil
124}
125
126// OnStep 监听每一步
127func (s *Scheduler) OnStep(callback StepCallback) func() {

Calls 1

generateTaskIDFunction · 0.70

Tested by 7

TestScheduler_EveryStepsFunction · 0.76
TestScheduler_CancelFunction · 0.76
TestScheduler_ClearFunction · 0.76
TestScheduler_OnTriggerFunction · 0.76