Запуск DAG с воздушного потока с терминала не работает

Я пытаюсь использовать воздушный поток, чтобы определить конкретный рабочий процесс, который я хочу запустить вручную из командной строки.

Я создаю DAG и добавляю кучу задач.

dag = airflow.DAG(
    "DAG_NAME",
    start_date=datetime(2015, 1, 1),
    schedule_interval=None,
    default_args=args)

Затем я запускаю в терминале

airflow trigger_dag DAG_NAME

и ничего не происходит. Планировщик работает в другом потоке. Любое направление очень ценится. Благодарю вас.

Ответ 1

Я только что столкнулся с той же проблемой.

Предполагая, что вы можете видеть свой dag в airflow list_dags или через веб-сервер, а затем:

Я не только включил dag в веб-интерфейс, но также должен был гарантировать, что airflow scheduler работает как отдельный процесс.

Как только я запустил планировщик, я смог успешно выполнить мой dag с помощью airflow trigger_dag <dag_id>

Конфигурация моего dag не сильно отличается от вашей. У меня также есть schedule_interval=None

Ответ 2

Возможно, вы отключили рабочий процесс. Чтобы включить рабочий процесс вручную. Откройте веб-сервер воздушного потока

$ airflow webserver -p 8080

Перейдите в http://localhost:8080. Вы должны увидеть список всех доступных задержек с кнопкой включения/выключения. По умолчанию все отключено. Найдите свой dag и переключите рабочий процесс. Теперь попробуйте запустить рабочий процесс с терминала. Теперь он должен работать.

Ответ 3

сначала убедитесь, что ваша строка подключения к базе данных на воздушном потоке работает, погода на постгресах, sqlite (по умолчанию) или в любой другой базе данных. Затем запустите команду

 airflow initdb

В этой команде не должно отображаться никаких ошибок соединения.

Во-вторых, убедитесь, что ваш веб-сервер работает в отдельном потоке

airflow webserver

Затем запустите свой schdeuler на другой поток

airflow scheduler

Наконец, запустите ваш dag в другом потоке после запуска планировщика

airflow trigger_dag dag_id

Также убедитесь, что имя и задача dag присутствуют в списке dag и задач

airflow list_dags
airflow list_tasks dag_id

И если dag отключен в вашем пользовательском интерфейсе, переключите его.

Ответ 4

Также убедитесь, что сам DAG включен в пользовательском интерфейсе.