#dask #dask-distributed
#dask #dask-распределенный
Вопрос:
Согласно названию, если я создаю рабочих с помощью helm или kubernetes, можно ли назначить «рабочие ресурсы» (https://distributed.readthedocs.io/en/latest/resources.html#worker-resources ) после того, как рабочие были созданы?
Вариант использования — это задачи, которые попадают в базу данных, я хотел бы ограничить количество процессов, способных обращаться к базе данных за данный запуск, без ограничения общего размера кластера.
Комментарии:
1. Хорошо, я нашел еще один поиск по коду
set_resources
. Я предполагаю, что я мог бы сделатьclient.run(lambda x: set_resources('my-db')
. Будет ли это наиболее подходящим способом для достижения этой цели?
Ответ №1:
По состоянию на 2019-04-09 стандартного способа сделать это не существует. Вы нашли Worker.set_resources
метод, который разумно использовать. В конце концов, я бы также ожидал, что рабочие плагины справятся с этим, но они не реализованы.
Для вашего приложения для управления доступом к базе данных похоже, что вам действительно нужен семафор. Вы могли бы помочь создать его (на самом деле это довольно просто, учитывая текущую Lock
реализацию), или вы могли бы использовать очередь Dask для имитации одного.