Skip to content

Commit

Permalink
remove result files periodically (run every 5 minutes, delete 1 hour …
Browse files Browse the repository at this point in the history
…old files)
  • Loading branch information
tgulacsi committed Oct 9, 2024
1 parent c3b8b9c commit 0a88d6c
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 0 deletions.
1 change: 1 addition & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ require (
github.com/pkg/errors v0.9.1 // indirect
github.com/rivo/uniseg v0.4.7 // indirect
github.com/rogpeppe/go-internal v1.12.0 // indirect
github.com/rogpeppe/retry v0.1.0 // indirect
github.com/rs/zerolog v1.29.1 // indirect
github.com/secure-systems-lab/go-securesystemslib v0.8.0 // indirect
github.com/sloonz/go-qprintable v0.0.0-20210417175225-715103f9e6eb // indirect
Expand Down
2 changes: 2 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,8 @@ github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUc
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4=
github.com/rogpeppe/retry v0.1.0 h1:6km4oqeZcFrnhx+PCPg/YxV3fnTdROBNVlSl8Pe/ztU=
github.com/rogpeppe/retry v0.1.0/go.mod h1:/PtRtl9qXn+Pv5S4wN+Y5nusihQeI1PJ9U7KDcKzuvI=
github.com/rs/xid v1.4.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg=
github.com/rs/zerolog v1.29.1 h1:cO+d60CHkknCbvzEWxP0S9K6KqyTjrCNUy1LdQLCGPc=
github.com/rs/zerolog v1.29.1/go.mod h1:Le6ESbR7hc+DP6Lt1THiV8CQSdkkNrd3R0XbEgp3ZBU=
Expand Down
31 changes: 31 additions & 0 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import (
tufclient "github.com/theupdateframework/go-tuf/client"

"github.com/kardianos/osext"
"github.com/rogpeppe/retry"
"github.com/tgulacsi/agostle/converter"
"github.com/tgulacsi/go/i18nmail"
"golang.org/x/sync/errgroup"
Expand Down Expand Up @@ -192,6 +193,36 @@ func Main() error {
}
logger.Info("serve", "listeners", len(listeners), "listenAddr", listenAddr)

go func() {
strategy := retry.Strategy{Delay: 5 * time.Minute}
var iter *retry.Iter
for {
threshold := time.Now().Add(-time.Hour)
wd := converter.Workdir
logger.Info("clear result-*.zip files", "dir", wd, "threshold", threshold)
dis, _ := os.ReadDir(wd)
for _, di := range dis {
bn := di.Name()
if !(di.Type().IsRegular() &&
strings.HasPrefix(bn, "result-") &&
strings.HasSuffix(bn, ".zip")) {
continue
}
if fi, err := di.Info(); err == nil && fi.ModTime().Before(threshold) {
fn := filepath.Join(wd, bn)
logger.Info("Remove", "file", fn)
os.Remove(fn)
}
}
if iter == nil {
iter = strategy.Start()
}
if !iter.Next(ctx.Done()) {
break
}
}
}()

grp, grpCtx := errgroup.WithContext(ctx)
srvs := make([]*http.Server, 0, len(listeners)+1)
if listenAddr != "" {
Expand Down

0 comments on commit 0a88d6c

Please sign in to comment.