Expert stores engine builds in a shared user cache. Over time, cached builds for old Elixir/OTP combinations can accumulate and grow disk usage.
We already provide manual cleanup with expert engine clean, but many users are unlikely to know about it or run it regularly. It would be better if the cache cleaned up stale builds automatically.
Proposal:
- track when each cached engine build was last used
- automatically remove builds that have not been used for 30 days
- run cleanup opportunistically and as a best-effort operation, so it does not block normal startup or engine use
- doing this as a post-step of engine build looks could be work well
This should keep the cache bounded without affecting active projects. Rebuilding an engine after 30 days of inactivity seems like a reasonable tradeoff.
Originally posted by @mkaput in #466
Expert stores engine builds in a shared user cache. Over time, cached builds for old Elixir/OTP combinations can accumulate and grow disk usage.
We already provide manual cleanup with
expert engine clean, but many users are unlikely to know about it or run it regularly. It would be better if the cache cleaned up stale builds automatically.Proposal:
This should keep the cache bounded without affecting active projects. Rebuilding an engine after 30 days of inactivity seems like a reasonable tradeoff.
Originally posted by @mkaput in #466