Запуск обратного вызова для dask.distributed.Variable.set - PullRequest
1 голос
/ 31 октября 2019

Я работаю над приложением python, которое требует синхронизации данных между удаленным местоположением (как в ec2) и локальным местоположением (как мой ноутбук). Поскольку некоторые данные содержат очень большие массивы, и я уже успешно использую dask в других местах приложения, я бы хотел использовать dask для этого процесса.

В настоящее время я пытаюсь использовать dask.distributed.Variable для синхронизации данных - сначала разбрасывать данные, если это массив - просто установить их напрямую. Затем я могу запустить команду get для получения данных, но я действительно хотел бы иметь возможность подключить обратный вызов, который будет запускаться в моем локальном местоположении всякий раз, когда данные устанавливаются в удаленном местоположении или в визе. наоборот.

Например, что-то вроде

# On remote
from dask.distributed import LocalCluster, Client, Variable

cluster = LocalCluster()
client = Client(cluster)

# Define variable
aa = Variable('a')
# On local
from dask.distributed import Client, Variable
client = Client(cluster.scheduler.address)

# Define variable
aa = Variable('a')

# Define my custom callback
def my_callback():
    print(aa.get())

# Do some connection magic ?????

, а затем, если

# On remote
aa.set(1)

Запустить мой обратный вызов на моем локальном.

Естьтакая парадигма возможна здесь?

...