Skip to content

wwoods/dask-actor-singleton

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 for discard.
  • 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.

About

Provides a means of allocating and accessing singleton actors in dask by name.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages