From 1cd9c9bb4dc095b19ff3b76a20c425d5bef10f5c Mon Sep 17 00:00:00 2001 From: AI Engineer Date: Thu, 14 May 2026 21:56:27 +0800 Subject: [PATCH] chore: infrastructure alignment and doc sync (by checkall) --- go.mod | 4 ++-- go.sum | 8 ++++---- scheduler.go | 16 +++++++++++++--- task.go | 10 ++++++++++ 4 files changed, 29 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index a3e8c21..451e44e 100644 --- a/go.mod +++ b/go.mod @@ -8,10 +8,10 @@ require ( ) require ( - apigo.cc/go/cast v1.3.0 // indirect + apigo.cc/go/cast v1.3.2 // indirect apigo.cc/go/config v1.3.0 // indirect apigo.cc/go/encoding v1.3.0 // indirect - apigo.cc/go/file v1.3.0 // indirect + apigo.cc/go/file v1.3.1 // indirect apigo.cc/go/id v1.3.0 // indirect apigo.cc/go/rand v1.3.0 // indirect apigo.cc/go/safe v1.3.0 // indirect diff --git a/go.sum b/go.sum index 7daa0b7..881d810 100644 --- a/go.sum +++ b/go.sum @@ -1,11 +1,11 @@ -apigo.cc/go/cast v1.3.0 h1:ZTcLYijkqZjSWSCSpJUWMfzJYeJKbwKxquKkPrFsROQ= -apigo.cc/go/cast v1.3.0/go.mod h1:lGlwImiOvHxG7buyMWhFzcdvQzmSaoKbmr7bcDfUpHk= +apigo.cc/go/cast v1.3.2 h1:hh9MWDSwh3T/kQdCHjFpjDwHrh2A05Q4wt1AAWs8NBI= +apigo.cc/go/cast v1.3.2/go.mod h1:lGlwImiOvHxG7buyMWhFzcdvQzmSaoKbmr7bcDfUpHk= apigo.cc/go/config v1.3.0 h1:TwI3bv3D+BJrAnFx+o62HQo3FarY2Ge3SCGsKchFYGg= apigo.cc/go/config v1.3.0/go.mod h1:88lqKEBXlIExFKt1geLONVLYyM+QhRVpBe0ok3OEvjI= apigo.cc/go/encoding v1.3.0 h1:8jqNHoZBR8vOU/BGsLFebfp1Txa1UxDRpd7YwzIFLJs= apigo.cc/go/encoding v1.3.0/go.mod h1:kT/uUJiuAOkZ4LzUWrUtk/I0iL1D8aatvD+59bDnHBo= -apigo.cc/go/file v1.3.0 h1:xG9FcY3Rv6Br83r9pq9QsIXFrplx4g8ITOkHSzfzXRg= -apigo.cc/go/file v1.3.0/go.mod h1:pYHBlB/XwsrnWpEh7GIFpbiqobrExfiB+rEN8V2d2kY= +apigo.cc/go/file v1.3.1 h1:qHgiJsn1K9DazWRrPoHVnXtp6hDGGsUpAE/4G1bFXqY= +apigo.cc/go/file v1.3.1/go.mod h1:pYHBlB/XwsrnWpEh7GIFpbiqobrExfiB+rEN8V2d2kY= apigo.cc/go/id v1.3.0 h1:Tr2Yj0Rl19lfwW5wBTJ407o/zgo2oVRLE20WWEgJzdE= apigo.cc/go/id v1.3.0/go.mod h1:AFH3kMFwENfXNyijnAFWEhSF1o3y++UBPem1IUlrcxA= apigo.cc/go/log v1.3.2 h1:/m3V4MnlYnCG4XPHpWDsa4cw5suMaDVY1SgaVyjnBSo= diff --git a/scheduler.go b/scheduler.go index bca3409..f6afb01 100644 --- a/scheduler.go +++ b/scheduler.go @@ -117,13 +117,23 @@ func (s *Scheduler) Stop(ctx context.Context) error { } } -func (s *Scheduler) Health() error { +func (s *Scheduler) Status() (string, error) { s.mu.RLock() defer s.mu.RUnlock() if !s.running { - return errors.New("scheduler is not running") + return "stopped", errors.New("scheduler is not running") } - return nil + return "running", nil +} + +// Start 开始全局默认调度器 +func Start(ctx context.Context, logger *log.Logger) error { + return DefaultScheduler.Start(ctx, logger) +} + +// Stop 停止全局默认调度器 +func Stop(ctx context.Context) error { + return DefaultScheduler.Stop(ctx) } func (s *Scheduler) Run(name string) { diff --git a/task.go b/task.go index 779593e..7202266 100644 --- a/task.go +++ b/task.go @@ -28,6 +28,16 @@ type Config struct { Timeout time.Duration `json:"timeout"` } +// WithPolicy 创建指定策略的配置 +func WithPolicy(p Policy) Config { + return Config{Policy: p} +} + +// WithTimeout 创建指定超时时间的配置 +func WithTimeout(d time.Duration) Config { + return Config{Timeout: d} +} + // Task 代表一个被调度的任务 type Task struct { Name string `json:"name"`