Каков наилучший подход, чтобы сделать весь импорт в сервисе доступным для всех работников, занятых на производстве? - PullRequest
0 голосов
/ 11 марта 2020

У меня было несколько вопросов о том, как сделать импорт доступным для работников Dask. 1) Я вижу, что с помощью функции upload_file вы можете сделать файлы доступными для работников. Кроме этого, каковы другие варианты, чтобы сделать это? 2) Если мы включим файл upload_file для всех импортов, будет ли продолжаться загрузка для каждого рабочего вызова в бэкэнде? будет ли он удален после выполнения задачи?

1 Ответ

0 голосов
/ 13 марта 2020

Да, есть много способов сделать это, в зависимости от того, как вы развертываете dask.

Несколько примеров:

  • все работники имеют доступ к NFS, поэтому поместите туда свои файлы кода и включите его в python путь
  • , доступ к рабочим осуществляется через S SH, поэтому используйте scp, чтобы скопировать код на все рабочие машины
  • , которые вы развертываете через docker / kubernetes, поэтому включите код в изображение
  • , которое вы развертываете через dask-yarn: ищите conda-pack

upload_file помещает код в временное местоположение, которое находится на пути рабочего python. Файл будет сохраняться там до тех пор, пока, по крайней мере, после завершения рабочего процесса он не будет перезагружен между задачами. Он будет импортирован кодом как обычные python модули (т.е. при повторном импорте будет использоваться кэшированная версия). Новые работники, которые присоединяются после команды upload_file, не будут иметь копии файла.

...