summaryrefslogtreecommitdiff
path: root/internal/processing
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2022-05-15 16:45:04 +0200
committerLibravatar GitHub <noreply@github.com>2022-05-15 15:45:04 +0100
commitb143877995220022787cc265801608f1548ff490 (patch)
treeb51238caca4d022c96cd98ea35f9e5a9be25f95c /internal/processing
parent[feature] Media cleanup endpoint (#560) (diff)
downloadgotosocial-b143877995220022787cc265801608f1548ff490.tar.xz
[feature] Unused avatar and header cleanup (#574)
* rename + tidy up remote pruning * fix media attachment account join see https://bun.uptrace.dev/guide/golang-orm.html#table-relationships * update logging to new function name * add get avatars and headers to bun * add pruneallmeta function * don't set uncached since we're deleting anyway * fix totalPruned being in wrong place * test pruning meta * go fmt ./... * rename mediaprune * add meta pruning to routine mediaprune * tidy up cleanup job scheduling * rename adminmediaremoteprune * update mediacleanup to use renamed prune func * update swagger docs a little bit * reuse cancel + context
Diffstat (limited to 'internal/processing')
-rw-r--r--internal/processing/admin.go4
-rw-r--r--internal/processing/admin/admin.go2
-rw-r--r--internal/processing/admin/mediaprune.go (renamed from internal/processing/admin/mediaremoteprune.go)19
-rw-r--r--internal/processing/processor.go2
4 files changed, 18 insertions, 9 deletions
diff --git a/internal/processing/admin.go b/internal/processing/admin.go
index 10f3ff8ba..cbbea05b1 100644
--- a/internal/processing/admin.go
+++ b/internal/processing/admin.go
@@ -54,6 +54,6 @@ func (p *processor) AdminDomainBlockDelete(ctx context.Context, authed *oauth.Au
return p.adminProcessor.DomainBlockDelete(ctx, authed.Account, id)
}
-func (p *processor) AdminMediaRemotePrune(ctx context.Context, mediaRemoteCacheDays int) gtserror.WithCode {
- return p.adminProcessor.MediaRemotePrune(ctx, mediaRemoteCacheDays)
+func (p *processor) AdminMediaPrune(ctx context.Context, mediaRemoteCacheDays int) gtserror.WithCode {
+ return p.adminProcessor.MediaPrune(ctx, mediaRemoteCacheDays)
}
diff --git a/internal/processing/admin/admin.go b/internal/processing/admin/admin.go
index 6779f59b7..c528f0fb8 100644
--- a/internal/processing/admin/admin.go
+++ b/internal/processing/admin/admin.go
@@ -41,7 +41,7 @@ type Processor interface {
DomainBlockDelete(ctx context.Context, account *gtsmodel.Account, id string) (*apimodel.DomainBlock, gtserror.WithCode)
AccountAction(ctx context.Context, account *gtsmodel.Account, form *apimodel.AdminAccountActionRequest) gtserror.WithCode
EmojiCreate(ctx context.Context, account *gtsmodel.Account, user *gtsmodel.User, form *apimodel.EmojiCreateRequest) (*apimodel.Emoji, gtserror.WithCode)
- MediaRemotePrune(ctx context.Context, mediaRemoteCacheDays int) gtserror.WithCode
+ MediaPrune(ctx context.Context, mediaRemoteCacheDays int) gtserror.WithCode
}
type processor struct {
diff --git a/internal/processing/admin/mediaremoteprune.go b/internal/processing/admin/mediaprune.go
index e4a50cab8..0e6abe028 100644
--- a/internal/processing/admin/mediaremoteprune.go
+++ b/internal/processing/admin/mediaprune.go
@@ -26,18 +26,27 @@ import (
"github.com/superseriousbusiness/gotosocial/internal/gtserror"
)
-func (p *processor) MediaRemotePrune(ctx context.Context, mediaRemoteCacheDays int) gtserror.WithCode {
+func (p *processor) MediaPrune(ctx context.Context, mediaRemoteCacheDays int) gtserror.WithCode {
if mediaRemoteCacheDays < 0 {
- err := fmt.Errorf("invalid value for mediaRemoteCacheDays prune: value was %d, cannot be less than 0", mediaRemoteCacheDays)
+ err := fmt.Errorf("MediaPrune: invalid value for mediaRemoteCacheDays prune: value was %d, cannot be less than 0", mediaRemoteCacheDays)
return gtserror.NewErrorBadRequest(err, err.Error())
}
go func() {
- pruned, err := p.mediaManager.PruneRemote(ctx, mediaRemoteCacheDays)
+ pruned, err := p.mediaManager.PruneAllRemote(ctx, mediaRemoteCacheDays)
if err != nil {
- logrus.Errorf("MediaRemotePrune: error pruning: %s", err)
+ logrus.Errorf("MediaPrune: error pruning remote cache: %s", err)
} else {
- logrus.Infof("MediaRemotePrune: pruned %d entries", pruned)
+ logrus.Infof("MediaPrune: pruned %d remote cache entries", pruned)
+ }
+ }()
+
+ go func() {
+ pruned, err := p.mediaManager.PruneAllMeta(ctx)
+ if err != nil {
+ logrus.Errorf("MediaPrune: error pruning meta: %s", err)
+ } else {
+ logrus.Infof("MediaPrune: pruned %d meta entries", pruned)
}
}()
diff --git a/internal/processing/processor.go b/internal/processing/processor.go
index d30f2f37e..f34cc568f 100644
--- a/internal/processing/processor.go
+++ b/internal/processing/processor.go
@@ -114,7 +114,7 @@ type Processor interface {
// AdminDomainBlockDelete deletes one domain block, specified by ID, returning the deleted domain block.
AdminDomainBlockDelete(ctx context.Context, authed *oauth.Auth, id string) (*apimodel.DomainBlock, gtserror.WithCode)
// AdminMediaRemotePrune triggers a prune of remote media according to the given number of mediaRemoteCacheDays
- AdminMediaRemotePrune(ctx context.Context, mediaRemoteCacheDays int) gtserror.WithCode
+ AdminMediaPrune(ctx context.Context, mediaRemoteCacheDays int) gtserror.WithCode
// AppCreate processes the creation of a new API application
AppCreate(ctx context.Context, authed *oauth.Auth, form *apimodel.ApplicationCreateRequest) (*apimodel.Application, error)