AbstractDatastoreCacheManager¶
- class lsst.daf.butler.AbstractDatastoreCacheManager(config: Union[str, DatastoreCacheManagerConfig], universe: DimensionUniverse)¶
Bases:
ABC
An abstract base class for managing caching in a Datastore.
- Parameters:
- config
str
orDatastoreCacheManagerConfig
Configuration to control caching.
- universe
DimensionUniverse
Set of all known dimensions, used to expand and validate any used in lookup keys.
- config
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
(ref)Remove the specified datasets from the cache.
should_be_cached
(entity)Indicate whether the entity should be added to the cache.
Attributes Documentation
- cache_size¶
Size of the cache in bytes.
- file_count¶
Return number of cached files tracked by registry.
Methods Documentation
- abstract 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.
- abstract 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 acceptedNone
will 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:
- abstract remove_from_cache(ref: 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
DatasetRef
or iterable ofDatasetRef
The datasets to remove from the cache.
- ref
- abstract 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
StorageClass
orDatasetType
orDatasetRef
Thing to test against the configuration. The
name
property is used to determine a match. ADatasetType
will first check its name, before checking itsStorageClass
. If there are no matches the default will be returned.
- entity
- Returns: