Skip to content

Commit

Permalink
fix: mk cache dir
Browse files Browse the repository at this point in the history
  • Loading branch information
krau committed Oct 12, 2024
1 parent d5f2144 commit 0bd9b77
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 2 deletions.
12 changes: 12 additions & 0 deletions common/os.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,18 @@ func PurgeFile(path string) error {
return RemoveEmptyDirectories(filepath.Dir(path))
}

func RmFileAfter(path string, td time.Duration) {
_, err := os.Stat(path)
if err != nil {
logger.L.Errorf("Failed to create timer for %s: %s", path, err)
return
}
logger.L.Debugf("Remove file after %s: %s", td, path)
time.AfterFunc(td, func() {
PurgeFile(path)
})
}

// 递归删除空目录
func RemoveEmptyDirectories(dirPath string) error {
entries, err := os.ReadDir(dirPath)
Expand Down
7 changes: 5 additions & 2 deletions core/core.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package core
import (
"context"
"errors"
"os"
"time"

"github.com/amarnathcjd/gogram/telegram"
Expand All @@ -16,6 +17,8 @@ import (
)

func processPendingTask(task types.Task) error {
os.MkdirAll(config.Cfg.Temp.BasePath, os.ModePerm)

message, err := bot.Client.GetMessageByID(task.ChatID, task.MessageID)
if err != nil {
return err
Expand All @@ -33,9 +36,9 @@ func processPendingTask(task types.Task) error {

defer func() {
if config.Cfg.Temp.CacheTTL > 0 {
common.PurgeFileAfter(dest, time.Duration(config.Cfg.Temp.CacheTTL)*time.Second)
common.RmFileAfter(dest, time.Duration(config.Cfg.Temp.CacheTTL)*time.Second)
} else {
if err := common.PurgeFile(dest); err != nil {
if err := os.Remove(dest); err != nil {
logger.L.Errorf("Failed to purge file: %s", err)
}
}
Expand Down

0 comments on commit 0bd9b77

Please sign in to comment.