Helper library to allocate and retrieve singleton actors in Dask
Project description
dask-actor-singleton
This package works around common transient errors and pitfalls in creating a singleton instance of an Actor in Dask. It provides a clean interface for retrieving the singleton instance, and allocating it when necessary.
Usage
import dask_actor_singleton
class MyActor:
def __init__(self, arg):
self.value = arg
def inc(self):
self.value += 1
return self.value
client = dask.distributed.Client()
actor = dask_actor_singleton.get('my_actor', create=lambda: MyActor(8))
print(actor.inc().result()) # 9
# Now, on a different computer / dask.distributed.Client, run this script again:
# ...
print(actor.inc().result()) # 10
# If ever the singleton should be deleted, one may call:
dask_actor_singleton.discard('my_actor')
History
- 2023-09-14 v1.3.4 release. Fixing compatibility with Dask 2023.5.0 and beyond, and the FAW.
- 2021-08-19 v1.3.3 release. Caching times start after object creation finishes; not at the start. This matters for objects with long load times.
- 2021-08-18 v1.3.2 release. Explicitly forget wrapped future.
- 2021-08-18 v1.3.1 release. Free old actor when re-allocating to potentially reduce memory load.
- 2021-08-02 v1.3.0 release. Priority argument added to improve responsiveness alongside larger processing loads.
- 2021-07-29 v1.2.0 release. Added TTL support for
get
, and better documentation fordiscard
. - 2021-07-29 v1.1.1 release. Fixed issue with "Working holding Actor was lost"
- 2021-07-29 v1.1 release. Supports
discard
to purge a cached singleton. - 2021-07-19 v1.0 release.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file dask-actor-singleton-1.3.4.tar.gz
.
File metadata
- Download URL: dask-actor-singleton-1.3.4.tar.gz
- Upload date:
- Size: 6.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b8e009163a275dac345cf408b09aca2f30e219b7f3a0f0e1f93b8d9499ca7d9 |
|
MD5 | 4df140318c90b8c1bd043caaa6e1cbf6 |
|
BLAKE2b-256 | 088170cd9b1f49e27ed729d869922efbc9d30eaa6abcb279ae4b9ea71e7754d0 |