Надлежащее использование dask-кеша с пользовательским графиком в интерфейсе OO - PullRequest
0 голосов
/ 29 февраля 2020

Я пытаюсь найти наилучший способ использования возможности кэширования c, предоставляемого объектом dask.Cache в контексте одного объекта интерфейса.

В отличие от большинства случаев использования I я не создаю сценарии напрямую с функциями. Я работал над созданием интерфейса, берет ряд узлов, которые содержат различные вычисления, которые строят график.

Будет ли подходящее использование в духе одного из следующих примеров? Или что-то другое?

from dask.cache import Cache
from dask import get
class InterfaceA:
    def __init__(self, nodes: dict): # assume nodes are in dsk spec
        self.nodes = nodes
        self.cache = Cache()
        self.cache.register() # register cache for all get calcs

    def get(self, key):
        return get(self.nodes, key) # use get assuming that caching happens locally at class level (does it?)

class InterfaceB:
    def __init__(self, nodes: dict): # assume nodes are in dsk spec
        self.nodes = nodes
        self.cache = Cache()

    def get(self, key):
        with self.cache: # use dask cache as context manager
            return get(self.nodes, key) # use get assuming that caching happens locally at class level (does it?)

Спасибо.

...