proxystore.store.endpoint
EndpointStore Implementation.
EndpointStoreKey ¶
Bases: NamedTuple
Key to object in an Endpoint.
EndpointStore ¶
EndpointStore(
name: str,
*,
endpoints: Sequence[str | UUID],
proxystore_dir: str | None = None,
cache_size: int = 16,
stats: bool = False
) -> None
Bases: Store[EndpointStoreKey]
EndpointStore backend class.
Warning
Specifying a custom proxystore_dir can cause problems if the
proxystore_dir is not the same on all systems that a proxy
created by this store could end up on. It is recommended to leave
the proxystore_dir unspecified so the correct default directory
will be used.
Parameters:
-
name
(
str) –Name of the store instance (default: None).
-
endpoints
(
Sequence[str | UUID]) –Sequence of valid and running endpoint UUIDs to use. At least one of these endpoints must be accessible by this process.
-
proxystore_dir
(
str | None) –Optionally specify the proxystore home directory. Defaults to [
home_dir()[proxystore.utils.home_dir]. -
cache_size
(
int) –Size of LRU cache (in # of objects). If 0, the cache is disabled. The cache is local to the Python process.
-
stats
(
bool) –Collect stats on store operations.
Raises:
-
ValueError–If endpoints is an empty list.
-
EndpointStoreError–If unable to connect to one of the endpoints provided.
Source code in proxystore/store/endpoint.py
evict ¶
Evict object associated with key.
Parameters:
-
key
(
EndpointStoreKey) –Key corresponding to object in store to evict.
Raises:
-
EndpointStoreError–If the Endpoint returns a non-200 status code.
Source code in proxystore/store/endpoint.py
exists ¶
Check if key exists.
Parameters:
-
key
(
EndpointStoreKey) –Key to check.
Raises:
-
EndpointStoreError–If the Endpoint returns a non-200 status code.
Source code in proxystore/store/endpoint.py
get_bytes ¶
Get serialized object from remote store.
Parameters:
-
key
(
EndpointStoreKey) –Key corresponding to object.
Returns:
-
bytes | None–Serialized object or
Noneif it does not exist on the endpoint.
Raises:
-
EndpointStoreError–If the Endpoint returns a status code other than 200 (success) or 400 (missing key).
Source code in proxystore/store/endpoint.py
set_bytes ¶
Set serialized object in remote store with key.
Parameters:
-
key
(
EndpointStoreKey) –Key corresponding to object.
-
data
(
bytes) –Serialized object.
Raises:
-
EndpointStoreError–If the endpoint does not return a 200 status code for success.