DatastoreCacheManager¶
- class lsst.daf.butler.DatastoreCacheManager(config: Union[str, DatastoreCacheManagerConfig], universe: DimensionUniverse)¶
Bases:
AbstractDatastoreCacheManagerA class for managing caching in a Datastore using local files.
- Parameters:
- config
strorDatastoreCacheManagerConfig Configuration to control caching.
- universe
DimensionUniverse Set of all known dimensions, used to expand and validate any used in lookup keys.
- config
Notes
Two environment variables can be used to override the cache directory and expiration configuration:
$DAF_BUTLER_CACHE_DIRECTORY$DAF_BUTLER_CACHE_EXPIRATION_MODE
The expiration mode should take the form
mode=thresholdso for example to configure expiration to limit the cache directory to 5 datasets the value would bedatasets=5.Attributes Summary
Size of the cache in bytes.
Return number of cached files tracked by registry.
Methods Summary
find_in_cache(ref, extension)Look for a dataset in the cache and return its location.
move_to_cache(uri, ref)Move a file to the cache.
remove_from_cache(refs)Remove the specified datasets from the cache.
Scan the cache directory and record information about files.
should_be_cached(entity)Indicate whether the entity should be added to the cache.
Attributes Documentation
- cache_directory¶
- cache_size¶
- file_count¶
Methods Documentation
- find_in_cache(ref: DatasetRef, extension: str) Iterator[Optional[ButlerURI]]¶
Look for a dataset in the cache and return its location.
- Parameters:
- ref
DatasetRef Dataset to locate in the cache.
- extension
str File extension expected. Should include the leading “
.”.
- ref
- Yields:
Notes
Should be used as a context manager in order to prevent this file from being removed from the cache for that context.
- move_to_cache(uri: ButlerURI, ref: DatasetRef) Optional[ButlerURI]¶
Move a file to the cache.
Move the given file into the cache, using the supplied DatasetRef for naming. A call is made to
should_be_cached()and if the DatasetRef should not be acceptedNonewill be returned.Cache expiry can occur during this.
- Parameters:
- uri
ButlerURI Location of the file to be relocated to the cache. Will be moved.
- ref
DatasetRef Ref associated with this file. Will be used to determine the name of the file within the cache.
- uri
- Returns:
- remove_from_cache(refs: Union[DatasetRef, Iterable[DatasetRef]]) None¶
Remove the specified datasets from the cache.
It is not an error for these datasets to be missing from the cache.
- Parameters:
- ref
DatasetRefor iterable ofDatasetRef The datasets to remove from the cache.
- ref
- should_be_cached(entity: Union[DatasetRef, DatasetType, StorageClass]) bool¶
Indicate whether the entity should be added to the cache.
This is relevant when reading or writing.
- Parameters:
- entity
StorageClassorDatasetTypeorDatasetRef Thing to test against the configuration. The
nameproperty is used to determine a match. ADatasetTypewill first check its name, before checking itsStorageClass. If there are no matches the default will be returned.
- entity
- Returns: