Задача воздушного потока выполняется на всех узлах

У меня есть кластер воздушного потока с использованием сельдерея и Redis. У меня есть одна задача, которую я хочу запустить для всех рабочих. Как я могу это сделать ?

Причина: мы добавляем и уменьшаем воздушный поток в зависимости от нагрузки. Мне нужно запустить одну задачу на всех узлах.

Спасибо за помощь.


person Kush Patel    schedule 21.07.2017    source источник
comment
Я действительно хочу реализовать что-то подобное .. Вы нашли что-нибудь @kppatel?   -  person Avik Aggarwal    schedule 07.09.2018
comment
нет, я все еще использую cron   -  person Kush Patel    schedule 07.09.2018
comment
Вы еще не нашли решение?   -  person mad_    schedule 08.06.2021
comment
для наших целей мы используем cron. Работает последние 3 года без проблем. Но наша фоновая задача занимает гораздо меньше места. если у вас есть фиксированное количество именованных воркеров, вы можете создать задачу воздушного потока для запуска каждого рабочего потока.   -  person Kush Patel    schedule 09.06.2021


Ответы (1)


Похоже, вы пытаетесь контролировать свои рабочие узлы в кластере Airflow, увеличивая рабочие узлы / исполнителя, если рабочий находится под высокой нагрузкой? Это то, что вы пытаетесь сделать?

Если это так, я думаю, что такую ​​работу следует выполнять с помощью другого инструмента, например Jenkins + Ansible.

Если нет, проигнорируйте это или обновите свой вопрос, добавив дополнительную информацию.

person Fan    schedule 19.10.2017
comment
Я не пытаюсь контролировать работника воздушного потока, Airflow позволяет нам контролировать узлы. Однако я не могу выполнить определенную задачу на всех узлах. Например, через некоторое время VPN-соединение может быть прервано, мы хотим запустить sh-файл, который повторно подключается к VPN, но я хочу сделать это на всех узлах, а не на одном случайном узле. - person Kush Patel; 19.10.2017
comment
Я не думаю, что воздушный поток предназначен для решения той задачи, о которой вы упомянули. Я думаю, вы знаете, что задача выполняется исполнителем в рабочем узле, поэтому вы пытаетесь распределить задачу по одному исполнителю для каждого рабочего, а воздушный поток работает не так. Попробовать Cron или Jenkins + Ansible может быть проще. - person Fan; 20.10.2017
comment
Я согласен с вами, если бы это было нормально. Но мне нужно запустить это для поддержки воздушного потока. В противном случае мой воздушный поток просто начнёт давать сбои задачи. В настоящее время я использую cron. Однако мне было интересно, есть ли лучшее решение, чем просто базовая работа cron - person Kush Patel; 20.10.2017