package main import ( "context" "log/slog" "time" "git.ipao.vip/rogee/go-sip/internal/dispatcher" ) func runDispatcherControls(ctx context.Context, d *dispatcher.Dispatcher, controller dispatcher.TaskController, batch int) { ticker := time.NewTicker(dispatcherOutboxFlushInterval) defer ticker.Stop() for { if ctx.Err() != nil { return } if _, err := d.ProcessTaskControls(ctx, controller, batch); err != nil && ctx.Err() == nil { slog.Error("process Dispatcher task controls", "error", err) } select { case <-ctx.Done(): return case <-ticker.C: } } }