[feature] Cleanup unattached local media #680
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR closes #666 by adding some logic for cleaning up local media that was uploaded but never used, or media that was attached to a status which was subsequently deleted.
The time limit to keep unattached media around is currently hardcoded at 3 days. This was chosen because it seems very unlikely that someone would upload media, leave it unattached, and then after 3 days return to it and attach it to a status. Most of the time users upload something and then simply never use it, or they delete and redraft so that the media only stays unused for a few minutes at most.
The cleanup is triggered on instance startup, and every night @ midnight along with the other cleaning jobs. It's also triggerable by an admin calling the
/api/v1/admin/media_cleanup
endpoint