Skip to main content

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

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dask-actor-singleton-1.2.0.tar.gz (4.2 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page