Compare commits

...

1 Commits

Author SHA1 Message Date
krau
0bd9b77856 fix: mk cache dir 2024-10-12 13:27:39 +08:00
2 changed files with 17 additions and 2 deletions

View File

@@ -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)

View File

@@ -3,6 +3,7 @@ package core
import (
"context"
"errors"
"os"
"time"
"github.com/amarnathcjd/gogram/telegram"
@@ -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
@@ -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)
}
}