From 53fe8e4a8a8483dbf45f4ddbdb3b1d344db10303 Mon Sep 17 00:00:00 2001 From: Yun Date: Sat, 29 Nov 2025 19:23:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=B8=89=E4=B8=AA=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E7=A8=8B=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- example/cluster/main.go | 41 +++++++++++++++++++++++++++++++++------ example/once/main.go | 9 +++++++++ example/single/main.go | 43 +++++++++++++++++++++++++++++++++++------ 3 files changed, 81 insertions(+), 12 deletions(-) diff --git a/example/cluster/main.go b/example/cluster/main.go index 90d8cc6..bc27bca 100644 --- a/example/cluster/main.go +++ b/example/cluster/main.go @@ -4,6 +4,7 @@ import ( "context" "fmt" "os" + "path/filepath" "time" "github.com/redis/go-redis/v9" @@ -39,22 +40,43 @@ func main() { // space func space(ctx context.Context, clu *timerx.Cluster) { // 每秒执行一次 - err := clu.EverySpace(ctx, "space_test_second", 1*time.Second, callback, "space 这是秒任务") + err := clu.EverySpace(ctx, "space_test_second_1", 1*time.Second, callback, "space 这是秒任务") fmt.Println(err) + err = clu.EverySpace(ctx, "space_test_second_5", 5*time.Second, callback, "space 这是5秒任务") + fmt.Println(err) + // 每分钟执行一次 - err = clu.EverySpace(ctx, "space_test_minute", 1*time.Minute, callback, "space 这是分钟任务") + err = clu.EverySpace(ctx, "space_test_minute_1", 1*time.Minute, callback, "space 这是分钟任务") fmt.Println(err) + err = clu.EverySpace(ctx, "space_test_minute_5", 5*time.Minute, callback, "space 这是5分钟任务") + fmt.Println(err) + // 每小时执行一次 - err = clu.EverySpace(ctx, "space_test_hour", 1*time.Hour, callback, "space 这是小时任务") + err = clu.EverySpace(ctx, "space_test_hour_1", 1*time.Hour, callback, "space 这是小时任务") fmt.Println(err) + err = clu.EverySpace(ctx, "space_test_hour_2", 2*time.Hour, callback, "space 这是2小时任务") + fmt.Println(err) + err = clu.EverySpace(ctx, "space_test_hour_3", 3*time.Hour, callback, "space 这是3小时任务") + fmt.Println(err) + err = clu.EverySpace(ctx, "space_test_hour_4", 4*time.Hour, callback, "space 这是4小时任务") + fmt.Println(err) + err = clu.EverySpace(ctx, "space_test_hour_5", 5*time.Hour, callback, "space 这是5小时任务") + fmt.Println(err) + // 每天执行一次 - err = clu.EverySpace(ctx, "space_test_day", 24*time.Hour, callback, "space 这是天任务") + err = clu.EverySpace(ctx, "space_test_day_1", 24*time.Hour, callback, "space 这是天任务") fmt.Println(err) + err = clu.EverySpace(ctx, "space_test_day_2", 2*24*time.Hour, callback, "space 这是2天任务") + fmt.Println(err) + err = clu.EverySpace(ctx, "space_test_day_3", 3*24*time.Hour, callback, "space 这是3天任务") + fmt.Println(err) + // 每周执行一次 - err = clu.EverySpace(ctx, "space_test_week", 7*24*time.Hour, callback, "space 这是周任务") + err = clu.EverySpace(ctx, "space_test_week_1", 7*24*time.Hour, callback, "space 这是7天任务") fmt.Println(err) + // 每月执行一次 - err = clu.EverySpace(ctx, "space_test_month", 30*24*time.Hour, callback, "space 这是月任务") + err = clu.EverySpace(ctx, "space_test_month_1", 30*24*time.Hour, callback, "space 这是30天任务") fmt.Println(err) } @@ -252,6 +274,13 @@ func getRedis() *redis.Client { func callback(ctx context.Context, extendData any) error { fmt.Println("任务执行了", extendData, "时间:", time.Now().Format("2006-01-02 15:04:05")) + // 解析文件路径,每天一个文件 + path, _ := filepath.Abs("./") + // 拼接文件路径 + save_path = filepath.Join(path,"/cache/cluster/"+time.Now().Format("2006-01-02")+".log") + // 创建文件夹 + dir := filepath.Dir(save_path) + os.MkdirAll(dir, 0755) // 追加到文件 file, err := os.OpenFile(save_path, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644) diff --git a/example/once/main.go b/example/once/main.go index 2dc8fd6..8e21efc 100644 --- a/example/once/main.go +++ b/example/once/main.go @@ -4,6 +4,7 @@ import ( "context" "fmt" "os" + "path/filepath" "time" "github.com/redis/go-redis/v9" @@ -170,6 +171,14 @@ func callback(ctx context.Context, extendData any) error { fmt.Println("任务执行了", extendData, "时间:", time.Now().Format("2006-01-02 15:04:05")) + // 解析文件路径,每天一个文件 + path, _ := filepath.Abs("./") + // 拼接文件路径 + save_path = filepath.Join(path, "/cache/once/"+time.Now().Format("2006-01-02")+".log") + // 创建文件夹 + dir := filepath.Dir(save_path) + os.MkdirAll(dir, 0755) + // 追加到文件 file, err := os.OpenFile(save_path, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644) if err != nil { diff --git a/example/single/main.go b/example/single/main.go index 58f9938..d9ba9a3 100644 --- a/example/single/main.go +++ b/example/single/main.go @@ -4,6 +4,7 @@ import ( "context" "fmt" "os" + "path/filepath" "time" "github.com/redis/go-redis/v9" @@ -35,22 +36,44 @@ func main() { // space func space(ctx context.Context, clu *timerx.Single) { // 每秒执行一次 - _, err := clu.EverySpace(ctx, "space_test_second", 1*time.Second, callback, "space 这是秒任务") + _, err := clu.EverySpace(ctx, "space_test_second_1", 1*time.Second, callback, "space 这是秒任务") fmt.Println(err) + _, err = clu.EverySpace(ctx, "space_test_second_5", 5*time.Second, callback, "space 这是5秒任务") + fmt.Println(err) + // 每分钟执行一次 - _, err = clu.EverySpace(ctx, "space_test_minute", 1*time.Minute, callback, "space 这是分钟任务") + _, err = clu.EverySpace(ctx, "space_test_minute_1", 1*time.Minute, callback, "space 这是分钟任务") fmt.Println(err) + _, err = clu.EverySpace(ctx, "space_test_minute_5", 5*time.Minute, callback, "space 这是5分钟任务") + fmt.Println(err) + // 每小时执行一次 - _, err = clu.EverySpace(ctx, "space_test_hour", 1*time.Hour, callback, "space 这是小时任务") + _, err = clu.EverySpace(ctx, "space_test_hour_1", 1*time.Hour, callback, "space 这是小时任务") fmt.Println(err) + _, err = clu.EverySpace(ctx, "space_test_hour_2", 2*time.Hour, callback, "space 这是2小时任务") + fmt.Println(err) + _, err = clu.EverySpace(ctx, "space_test_hour_3", 3*time.Hour, callback, "space 这是3小时任务") + fmt.Println(err) + _, err = clu.EverySpace(ctx, "space_test_hour_4", 4*time.Hour, callback, "space 这是4小时任务") + fmt.Println(err) + _, err = clu.EverySpace(ctx, "space_test_hour_5", 5*time.Hour, callback, "space 这是5小时任务") + fmt.Println(err) + // 每天执行一次 - _, err = clu.EverySpace(ctx, "space_test_day", 24*time.Hour, callback, "space 这是天任务") + _, err = clu.EverySpace(ctx, "space_test_day_1", 24*time.Hour, callback, "space 这是天任务") fmt.Println(err) + _, err = clu.EverySpace(ctx, "space_test_day_2", 2*24*time.Hour, callback, "space 这是2天任务") + fmt.Println(err) + _, err = clu.EverySpace(ctx, "space_test_day_3", 3*24*time.Hour, callback, "space 这是3天任务") + fmt.Println(err) + // 每周执行一次 - _, err = clu.EverySpace(ctx, "space_test_week", 7*24*time.Hour, callback, "space 这是周任务") + _, err = clu.EverySpace(ctx, "space_test_week_1", 7*24*time.Hour, callback, "space 这是周任务") fmt.Println(err) + + // 每月执行一次 - _, err = clu.EverySpace(ctx, "space_test_month", 30*24*time.Hour, callback, "space 这是月任务") + _, err = clu.EverySpace(ctx, "space_test_month_1", 30*24*time.Hour, callback, "space 这是月任务") fmt.Println(err) } @@ -249,6 +272,14 @@ func callback(ctx context.Context, extendData any) error { fmt.Println("任务执行了", extendData, "时间:", time.Now().Format("2006-01-02 15:04:05")) + // 解析文件路径,每天一个文件 + path, _ := filepath.Abs("./") + // 拼接文件路径 + save_path = filepath.Join(path, "/cache/single/"+time.Now().Format("2006-01-02")+".log") + // 创建文件夹 + dir := filepath.Dir(save_path) + os.MkdirAll(dir, 0755) + // 追加到文件 file, err := os.OpenFile(save_path, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644) if err != nil {