Я просматриваю несколько планировщиков рабочих процессов с открытым исходным кодом для DAG заданий с разнородным использованием ОЗУ. Планировщик должен не только планировать число потоков, меньшее максимального, но и поддерживать общий объем оперативной памяти всех одновременных задач ниже доступной памяти.
В этом Luigi Q&A объяснялось, что
Вы можете указать, сколько ресурсов доступно в конфигурации, а затем сколько ресурсов задача потребляет в качестве свойства задачи. Это ограничит вас запуском
n
этой задачи за раз.в конфигурации:
[resources] api=1
в коде для задачи:
resources = {"api": 1}
Что касается Airflow, мне не удалось найти такую же функциональность в документации. Лучшее, что кажется возможным, — это указать количество доступных слотов в ресурсе. пул, а также указать, что экземпляр задачи использует один слот в пуле ресурсов. Однако, похоже, нет способа указать, что экземпляр задачи использует более одного слота в пуле.
Вопрос: как конкретно для Airflow указать количественное использование ресурсов экземпляром задачи?