run dag with airflow run: ошибка: требуются следующие аргументы: task_id, execute_date - PullRequest
1 голос
/ 20 марта 2019

Учитывая, что у меня есть файл easteregg.py:

from airflow import DAG

from dateutil import parser
from datetime import timedelta, datetime, time
from airflow.operators import PythonOperator
from airflow.operators.dummy_operator import DummyOperator
from easteregg import easteregg_workflows as wf

defaults = {
    'owner': "JohnDoe",
    'depends_on_past': False,
    'email': ['john.doe@mail.com'],
    'email_on_failure': True,
    'email_on_retry': False,
    'retries': 1,
    'retry_delay': timedelta(minutes=15),
    'start_date': parser.parse('2019-01-01 00:00:00')
}

dag = DAG('easteregg', default_args=defaults, 
    schedule_interval="*/5 * * * *")


step1 = PythonOperator(
    task_id="step1",
    python_callable=wf.run1,
    default_args=defaults,
    provide_context=True,
    pool="pool",
    dag=dag)

step0 = DummyOperator(
    task_id="step0",
    dag=dag)

step0 >> step1

, а файл easteregg_workflows.py просто:

def run1(**kwargs):
    logging.info("Hello airflow 1")

Теперь я хочу просто запустить это задание в потоке воздуха.Поэтому я выдал команду:

airflow run easteregg

, но выдает ошибку airflow run: error: the following arguments are required: task_id, execution_date.

Что мне не хватает, чтобы этот DAG мог работать?

1 Ответ

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

В вашем файле dag ничего не пропало. airflow run easteregg - неверная команда. airflow run не запускает даг. вместо этого он запускает task_id

Попробуйте airflow run -h для использования.

usage: airflow run [-h] [-sd SUBDIR] [-m] [-f] [--pool POOL]
                   [--cfg_path CFG_PATH] [-l] [-A] [-i] [-I] [--ship_dag]
                   [-p PICKLE] [-int]
                   dag_id task_id execution_date

Для воздушного потока требуются dag_id, task_id и execute_date

позиционные аргументы:
dag_id Идентификатор dag
task_id Идентификатор задачи
дата выполнения Дата выполнения DAG

Вместо этого вы можете использовать команду trigger_dag. https://airflow.apache.org/cli.html

airflow trigger_dag easteregg

Usage:airflow trigger_dag [-h] [-sd SUBDIR] [-r RUN_ID] [-c CONF] [-e EXEC_DATE]
                    dag_id
...