From 3719c417fbb060f7d7e7c3ad53e4d88d5d028e35 Mon Sep 17 00:00:00 2001 From: Yun <995116474@qq.com> Date: Fri, 31 May 2024 13:05:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BC=A0=E5=8F=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cluster.go | 14 +++++++------- cluster_test.go | 12 ++++++------ single.go | 16 ++++++++-------- types.go | 4 ++-- 4 files changed, 23 insertions(+), 23 deletions(-) diff --git a/cluster.go b/cluster.go index 24c1756..dc69080 100644 --- a/cluster.go +++ b/cluster.go @@ -95,7 +95,7 @@ func InitCluster(ctx context.Context, red redis.UniversalClient, keyPrefix strin // @param callback 回调函数 // @param extendData 扩展数据 // @return error -func (c *Cluster) EveryMonth(ctx context.Context, taskId string, day int, hour int, minute int, second int, callback callback, extendData interface{}) error { +func (c *Cluster) EveryMonth(ctx context.Context, taskId string, day int, hour int, minute int, second int, callback func(ctx context.Context, extendData interface{}) error, extendData interface{}) error { nowTime := time.Now().In(c.location) jobData := JobData{ @@ -117,7 +117,7 @@ func (c *Cluster) EveryMonth(ctx context.Context, taskId string, day int, hour i // @param hour int 小时 // @param minute int 分钟 // @param second int 秒 -func (c *Cluster) EveryWeek(ctx context.Context, taskId string, week time.Weekday, hour int, minute int, second int, callback callback, extendData interface{}) error { +func (c *Cluster) EveryWeek(ctx context.Context, taskId string, week time.Weekday, hour int, minute int, second int, callback func(ctx context.Context, extendData interface{}) error, extendData interface{}) error { nowTime := time.Now().In(c.location) jobData := JobData{ @@ -133,7 +133,7 @@ func (c *Cluster) EveryWeek(ctx context.Context, taskId string, week time.Weekda } // 每天执行一次 -func (c *Cluster) EveryDay(ctx context.Context, taskId string, hour int, minute int, second int, callback callback, extendData interface{}) error { +func (c *Cluster) EveryDay(ctx context.Context, taskId string, hour int, minute int, second int, callback func(ctx context.Context, extendData interface{}) error, extendData interface{}) error { nowTime := time.Now().In(c.location) jobData := JobData{ @@ -148,7 +148,7 @@ func (c *Cluster) EveryDay(ctx context.Context, taskId string, hour int, minute } // 每小时执行一次 -func (c *Cluster) EveryHour(ctx context.Context, taskId string, minute int, second int, callback callback, extendData interface{}) error { +func (c *Cluster) EveryHour(ctx context.Context, taskId string, minute int, second int, callback func(ctx context.Context, extendData interface{}) error, extendData interface{}) error { nowTime := time.Now().In(c.location) jobData := JobData{ @@ -162,7 +162,7 @@ func (c *Cluster) EveryHour(ctx context.Context, taskId string, minute int, seco } // 每分钟执行一次 -func (c *Cluster) EveryMinute(ctx context.Context, taskId string, second int, callback callback, extendData interface{}) error { +func (c *Cluster) EveryMinute(ctx context.Context, taskId string, second int, callback func(ctx context.Context, extendData interface{}) error, extendData interface{}) error { nowTime := time.Now().In(c.location) jobData := JobData{ @@ -175,7 +175,7 @@ func (c *Cluster) EveryMinute(ctx context.Context, taskId string, second int, ca } // 特定时间间隔 -func (c *Cluster) EverySpace(ctx context.Context, taskId string, spaceTime time.Duration, callback callback, extendData interface{}) error { +func (c *Cluster) EverySpace(ctx context.Context, taskId string, spaceTime time.Duration, callback func(ctx context.Context, extendData interface{}) error, extendData interface{}) error { nowTime := time.Now().In(c.location) if spaceTime < 0 { @@ -203,7 +203,7 @@ func (c *Cluster) EverySpace(ctx context.Context, taskId string, spaceTime time. // @param callback callback 回调函数 // @param extendData interface{} 扩展数据 // @return error -func (c *Cluster) addJob(ctx context.Context, taskId string, jobData JobData, callback callback, extendData interface{}) error { +func (c *Cluster) addJob(ctx context.Context, taskId string, jobData JobData, callback func(ctx context.Context, extendData interface{}) error, extendData interface{}) error { _, ok := clusterWorkerList.Load(taskId) if ok { c.logger.Errorf(ctx, "key已存在:%s", taskId) diff --git a/cluster_test.go b/cluster_test.go index 34bd72c..8b8fff2 100644 --- a/cluster_test.go +++ b/cluster_test.go @@ -30,7 +30,7 @@ func TestCluster_AddEveryMonth(t *testing.T) { } extendData := "testData" - err := cluster.AddMonth(ctx, taskId, 1, hour, minute, second, callback, extendData) + err := cluster.EveryMonth(ctx, taskId, 1, hour, minute, second, callback, extendData) if err != nil { t.Errorf("AddEveryMonth failed, err: %v", err) } @@ -59,7 +59,7 @@ func TestCluster_AddEveryWeek(t *testing.T) { } extendData := "testData" - err := cluster.AddWeek(ctx, taskId, week, hour, minute, second, callback, extendData) + err := cluster.EveryWeek(ctx, taskId, week, hour, minute, second, callback, extendData) if err != nil { t.Errorf("AddEveryWeek failed, err: %v", err) } @@ -87,7 +87,7 @@ func TestCluster_AddEveryDay(t *testing.T) { } extendData := "testData" - err := cluster.AddDay(ctx, taskId, hour, minute, second, callback, extendData) + err := cluster.EveryDay(ctx, taskId, hour, minute, second, callback, extendData) if err != nil { t.Errorf("AddEveryDay failed, err: %v", err) } @@ -114,7 +114,7 @@ func TestCluster_AddEveryHour(t *testing.T) { } extendData := "testData" - err := cluster.AddHour(ctx, taskId, minute, second, callback, extendData) + err := cluster.EveryHour(ctx, taskId, minute, second, callback, extendData) if err != nil { t.Errorf("AddEveryHour failed, err: %v", err) } @@ -140,7 +140,7 @@ func TestCluster_AddEveryMinute(t *testing.T) { } extendData := "testData" - err := cluster.AddMinute(ctx, taskId, second, callback, extendData) + err := cluster.EveryMinute(ctx, taskId, second, callback, extendData) if err != nil { t.Errorf("AddEveryMinute failed, err: %v", err) } @@ -170,7 +170,7 @@ func TestCluster_Add(t *testing.T) { } extendData := "testData" - err := cluster.AddSpace(ctx, taskId, dur, callback, extendData) + err := cluster.EverySpace(ctx, taskId, dur, callback, extendData) if err != nil { t.Errorf("Add failed, err: %v", err) } diff --git a/single.go b/single.go index 153aeea..f616e05 100644 --- a/single.go +++ b/single.go @@ -81,7 +81,7 @@ func InitSingle(ctx context.Context, opts ...Option) *Single { // @param callback 回调函数 // @param extendData 扩展数据 // @return error -func (c *Single) AddMonth(ctx context.Context, taskId string, day int, hour int, minute int, second int, callback callback, extendData interface{}) (int, error) { +func (c *Single) AddMonth(ctx context.Context, taskId string, day int, hour int, minute int, second int, callback func(ctx context.Context, extendData interface{}) error, extendData interface{}) (int, error) { nowTime := time.Now() jobData := JobData{ @@ -103,7 +103,7 @@ func (c *Single) AddMonth(ctx context.Context, taskId string, day int, hour int, // @param hour int 小时 // @param minute int 分钟 // @param second int 秒 -func (c *Single) AddWeek(ctx context.Context, taskId string, week time.Weekday, hour int, minute int, second int, callback callback, extendData interface{}) (int, error) { +func (c *Single) AddWeek(ctx context.Context, taskId string, week time.Weekday, hour int, minute int, second int, callback func(ctx context.Context, extendData interface{}) error, extendData interface{}) (int, error) { nowTime := time.Now() jobData := JobData{ @@ -119,7 +119,7 @@ func (c *Single) AddWeek(ctx context.Context, taskId string, week time.Weekday, } // 每天执行一次 -func (c *Single) AddDay(ctx context.Context, taskId string, hour int, minute int, second int, callback callback, extendData interface{}) (int, error) { +func (c *Single) AddDay(ctx context.Context, taskId string, hour int, minute int, second int, callback func(ctx context.Context, extendData interface{}) error, extendData interface{}) (int, error) { nowTime := time.Now() jobData := JobData{ @@ -134,7 +134,7 @@ func (c *Single) AddDay(ctx context.Context, taskId string, hour int, minute int } // 每小时执行一次 -func (c *Single) AddHour(ctx context.Context, taskId string, minute int, second int, callback callback, extendData interface{}) (int, error) { +func (c *Single) AddHour(ctx context.Context, taskId string, minute int, second int, callback func(ctx context.Context, extendData interface{}) error, extendData interface{}) (int, error) { nowTime := time.Now() jobData := JobData{ @@ -148,7 +148,7 @@ func (c *Single) AddHour(ctx context.Context, taskId string, minute int, second } // 每分钟执行一次 -func (c *Single) AddMinute(ctx context.Context, taskId string, second int, callback callback, extendData interface{}) (int, error) { +func (c *Single) AddMinute(ctx context.Context, taskId string, second int, callback func(ctx context.Context, extendData interface{}) error, extendData interface{}) (int, error) { nowTime := time.Now() jobData := JobData{ @@ -161,7 +161,7 @@ func (c *Single) AddMinute(ctx context.Context, taskId string, second int, callb } // 特定时间间隔 -func (c *Single) AddSpace(ctx context.Context, taskId string, spaceTime time.Duration, callback callback, extendData interface{}) (int, error) { +func (c *Single) AddSpace(ctx context.Context, taskId string, spaceTime time.Duration, callback func(ctx context.Context, extendData interface{}) error, extendData interface{}) (int, error) { nowTime := time.Now() if spaceTime < 0 { @@ -184,7 +184,7 @@ func (c *Single) AddSpace(ctx context.Context, taskId string, spaceTime time.Dur // @param extend 附加参数 // @return int 定时器索引 // @return error 错误 -func (l *Single) addJob(ctx context.Context, jobData JobData, call callback, extend interface{}) (int, error) { +func (l *Single) addJob(ctx context.Context, jobData JobData, call func(ctx context.Context, extendData interface{}) error, extend interface{}) (int, error) { singleTimerIndex += 1 _, err := GetNextTime(time.Now().In(l.location), jobData) @@ -281,7 +281,7 @@ func (s *Single) iterator(ctx context.Context) { // 定时器操作类 // 这里不应painc -func (s *Single) doTask(ctx context.Context, call callback, extend interface{}) error { +func (s *Single) doTask(ctx context.Context, call func(ctx context.Context, extendData interface{}) error, extend interface{}) error { defer func() { if err := recover(); err != nil { s.logger.Errorf(ctx, "timer:回调任务panic err:%+v stack:%s", err, string(debug.Stack())) diff --git a/types.go b/types.go index 74b79fe..a6b9b78 100644 --- a/types.go +++ b/types.go @@ -6,7 +6,7 @@ import ( ) type timerStr struct { - Callback callback // 需要回调的方法 + Callback func(ctx context.Context, extendData interface{}) error // 需要回调的方法 CanRunning chan (struct{}) // 是否允许执行(only single) TaskId string // 任务ID 全局唯一键(only cluster) ExtendData interface{} // 附加参数 @@ -40,4 +40,4 @@ type JobData struct { } // 定义各个回调函数 -type callback func(ctx context.Context, extendData interface{}) error +// type callback func(ctx context.Context, extendData interface{}) error