AbstractDatastoreCacheManager¶
-
class
lsst.daf.butler.AbstractDatastoreCacheManager(config: Union[str, DatastoreCacheManagerConfig], universe: DimensionUniverse)¶ Bases:
abc.ABCAn abstract base class for managing caching in a Datastore.
Parameters: - config :
strorDatastoreCacheManagerConfig Configuration to control caching.
- universe :
DimensionUniverse Set of all known dimensions, used to expand and validate any used in lookup keys.
Attributes Summary
cache_sizeSize of the cache in bytes. file_countReturn 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, DatasetType, …)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
-
find_in_cache(ref: lsst.daf.butler.core.datasets.ref.DatasetRef, extension: str) → Iterator[Optional[lsst.resources._resourcePath.ResourcePath]]¶ 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 “
.”.
Yields: - uri :
lsst.resources.ResourcePathorNone The URI to the cached file, or
Noneif the file has not been cached.
Notes
Should be used as a context manager in order to prevent this file from being removed from the cache for that context.
- ref :
-
move_to_cache(uri: lsst.resources._resourcePath.ResourcePath, ref: lsst.daf.butler.core.datasets.ref.DatasetRef) → Optional[lsst.resources._resourcePath.ResourcePath]¶ 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 :
lsst.resources.ResourcePath 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.
Returns: - new :
lsst.resources.ResourcePathorNone URI to the file within the cache, or
Noneif the dataset was not accepted by the cache.
- uri :
-
remove_from_cache(ref: Union[lsst.daf.butler.core.datasets.ref.DatasetRef, Iterable[lsst.daf.butler.core.datasets.ref.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.
Returns: - entity :
- config :