Запуск нескольких задач одного DAG на разных машинах в Airflow - PullRequest
0 голосов
/ 27 марта 2019

Мне нужно создать метку, которая выглядит следующим образом:

airflow dag snapshot

print_date задача должна запускаться из сервер A и шаблонную задачу необходимо запустить с сервер B .Из документации ясно, что потребуется сельдерей с Redis или RabbitMq.Я использую сельдерей вместе с Redis ( puckel / docker-airflow ).У меня уже есть поток воздуха на сервере B с исполнителем сельдерея.
Нужно ли мне иметь такую ​​же настройку на сервере A ??Кроме того, как мне соединить эти две задачи в один пакет, которые фактически присутствуют на другом сервере?Пример структуры для этого вида использования будет высоко ценится.

1 Ответ

1 голос
/ 27 марта 2019

Использовать воздушный поток Очереди . А когда вы определите свою задачу, добавьте параметр queue и назначьте его определенной очереди.

Например, queue1 просто запустит все задачи на компьютере 1, а queue2 запустит все задачи на компьютере 2.

Таким образом, вы можете назначить задачу A на очередь 1 , следовательно, она будет выполняться на Машина 1 и назначить

задача B до очередь 2 , следовательно, она будет работать на машина 2

Проверьте документацию на https://airflow.apache.org/concepts.html#queues

...