From a48a3b6a1fd7d4e2904c23ebc08ada35e9272d7d Mon Sep 17 00:00:00 2001 From: yanghao05 Date: Sat, 29 Mar 2025 17:55:44 +0800 Subject: [PATCH] feat: update compress ticker --- backend/app/service/commands/compress.go | 20 ++++++++++++------- backend/app/service/commands/compress_test.go | 2 +- backend/main.go | 2 ++ 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/backend/app/service/commands/compress.go b/backend/app/service/commands/compress.go index f71dd2b..70a5e3a 100644 --- a/backend/app/service/commands/compress.go +++ b/backend/app/service/commands/compress.go @@ -1,4 +1,4 @@ -package queue +package commands import ( "crypto/md5" @@ -10,6 +10,7 @@ import ( "path/filepath" "strconv" "strings" + "time" "quyun/app/service" @@ -50,16 +51,21 @@ type compressedDB struct { } func Serve(cmd *cobra.Command, args []string) error { - log.SetFormatter(&log.JSONFormatter{}) - + // log.SetFormatter(&log.JSONFormatter{}) if len(args) == 0 { - return errors.New("usage: compress ") + return errors.New("usage: compress path") } - if err := commandCompress(args[0]); err != nil { - return err - } + ticker := time.NewTicker(5 * time.Minute) + for range ticker.C { + log.Infof("compressing %s", args[0]) + if err := commandCompress(args[0]); err != nil { + log.WithError(err).Errorf("compressing %s failed", args[0]) + continue + } + log.Infof("compressing %s done", args[0]) + } return nil } diff --git a/backend/app/service/commands/compress_test.go b/backend/app/service/commands/compress_test.go index 2f42d9b..aa82219 100644 --- a/backend/app/service/commands/compress_test.go +++ b/backend/app/service/commands/compress_test.go @@ -1,4 +1,4 @@ -package queue +package commands import ( "os" diff --git a/backend/main.go b/backend/main.go index 9ddb6af..e1b908c 100644 --- a/backend/main.go +++ b/backend/main.go @@ -1,6 +1,7 @@ package main import ( + "quyun/app/service/commands" "quyun/app/service/http" "quyun/app/service/migrate" @@ -27,6 +28,7 @@ func main() { atom.Name("quyun"), http.Command(), migrate.Command(), + commands.Command(), } if err := atom.Serve(opts...); err != nil {