Automatically delete temporary file cache #1354
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.
Fixes #1118.
This links the lifetime of a temporary file cache (obtained using
"TMP"
infsspec.filesystem("filecache", cache_storage="TMP"
) to that of the cache filesystem instance. If a specificcache_storage
location is specified then the behaviour is unchanged and the cache persists.It is implemented using
weakref.finalize
on theCachingFileSystem
instance.To test this I am running the cache creation within a separate process to ensure that the filesystem is deleted at the end. I was surprised this was necessary as I assumed that
del fs
followed bygc.collect()
would ensure the filesystem was deleted, but this does not seem to be the case. This might be a misunderstanding on my part of how it all works.