气流任务没有开始运行

时间:2021-06-12 03:10:19

标签: airflow airflow-scheduler

我正在尝试在 Airflow 中运行一个简单的 BASHOperator 任务。手动触发时,DAG 会在 Tree 和 Graph 视图中列出任务,但任务始终处于未启动状态。

我已经重新启动了我的 Airflow 调度程序。我在 Docker Compose 上使用 Kubectl 映像在本地主机上运行 Airflow。

from airflow import DAG
from airflow.operators.dummy_operator import DummyOperator
from airflow.operators.bash_operator import BashOperator
from datetime import datetime, timedelta

default_args = {
    'owner': 'airflow',
    'depends_on_past': False,
    'email': ['vijayraghunath21@gmail.com'],
    'email_on_success': True,
    'email_on_failure': True,
    'email_on_retry': False,
    'retries': 1,
    'retry_delay': timedelta(minutes=2),
}

with DAG(
    dag_id='bash_demo',
    default_args=default_args,
    description='Bash Demo',
    start_date=datetime(2021, 1, 1),
    # schedule_interval='0 2 * * *',
    schedule_interval=None,
    max_active_runs=1,
    catchup=False,
    tags=['bash_demo'],
) as dag:
    dag.doc_md = __doc__

    # Task 1
    dummy_task = DummyOperator(task_id='dummy_task')

    # Task 2
    bash_task = BashOperator(
        task_id='bash_task', bash_command="echo 'command executed from BashOperator'")

    dummy_task >> bash_task

DAG Image

1 个答案:

答案 0 :(得分:1)

如您添加的图像所示,DAG 设置为关闭,因此它没有运行。您应该点击切换按钮将其设置为开启。

enter image description here

可以通过两种方式避免此问题:

全局解决方案 - 如果您愿意在 dags_are_paused_at_creation = False 中设置 airflow.cfg - 这将影响系统中的所有 DAG。

本地解决方案 - 如果您将在 DAG 承包商中使用 is_paused_upon_creation

with DAG(
    dag_id='bash_demo',
    ...
    is_paused_upon_creation=False,
) as dag:

此参数指定第一次创建 dag 时是否暂停。如果 dag 已存在,则忽略该参数。