2016-08-04 4 views
2

Есть ли способ с dask иметь переменную, которая может быть получена из одной задачи в другую. Я имею в виду переменную, которую я мог бы заблокировать в рабочем месте, а затем получить в том же работнике, когда выполняю другую задачу.Рабочие постоянные переменные Dask

ответ

1

Рабочие сами по себе являются процессами Python, поэтому вы можете делать трюки с помощью globals().

Однако, возможно, более чистые, чтобы испускать значения и передавать их между задачами. Dask сохраняет за собой право повторять функции и запускать их на разных машинах, поэтому в зависимости от глобального состояния или состояния, характерного для конкретного штата, вы можете легко попасть в неприятности.

+0

Thx для ответа, но трюки в глобальном масштабе, похоже, не работают. Я попытался запустить этот код у своих работников: 'i = 0 def engine (cmd): global i print ('i is:% d'% (i)) i = i + 1'. Но счетчик остается 0 – Bertrand

+0

Да, я рекомендую не использовать глобальные значения – MRocklin

+0

Thx для ваших ответов я постараюсь так поступить так. – Bertrand

 Смежные вопросы

  • Нет связанных вопросов^_^