Запуск 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 включен в пользовательском интерфейсе.