【问题标题】:Airflow DAG successfully executed but tasks didn't runAirflow DAG 成功执行,但任务未运行
【发布时间】:2019-08-29 11:16:14
【问题描述】:

我在气流中有一个 DAG,有一个任务(python 运算符),我强制在 GUI 中运行它并获得成功状态。但是,任务没有执行,因此 DAG 什么也不做。 dag的代码如下:

from airflow import DAG
from airflow.operators.python_operator import PythonOperator
from airflow.hooks import MySqlHook
import pandas as pd
import datetime as dt
import json
from datetime import timedelta

default_args = {
        'owner': 'airflow',
        'start_date': dt.datetime(2019,8,29,18,0,0),
        'concurrency':1,
        'retries':3
        }

def extraction_from_raw_data(conn_id):
    mysqlserver = MySqlHook(conn_id)
    query = """select * from antifraud.email_fraud_risk
            WHERE ts >= DATE_ADD(CURDATE(), INTERVAL -3 DAY)"""
    raw_data = mysqlserver.get_records(query)
    raw_data = pd.DataFrame(raw_data)

    data_as_list = []

    for i in range(len(raw_data)):
        dict1 = {}
        dict1.update(json.loads(raw_data.at[i,'raw_content']))
        data_as_list.append(dict1)

    json_data_df = pd.DataFrame(data_as_list)

    final_data = pd.concat([raw_data['email_id'],json_data_df],axis=1)

    return final_data

with DAG('emailage_data',
         default_args=default_args,
         schedule_interval = timedelta(days=1)
         ) as dag:
    extraction_from_raw_data = PythonOperator(
    task_id = 'extraction_from_raw_data',
    op_args = {'conn_id':'services'},
    python_callable = extraction_from_raw_data)

extraction_from_raw_data

所有工作程序、调度程序和网络服务器都正常工作,因为我正在成功运行 hello_world DAG(及其后续任务)。

【问题讨论】:

  • 尝试将开始日期更改为提前一天。
  • 这正是问题所在。非常感谢。您可以发布一个答案,以便我可以接受它

标签: python airflow airflow-scheduler


【解决方案1】:

通常,您应该始终在 DAG 的开始时间和当前时间之间留出额外的时间间隔。

Airflow 文档指出

请注意,如果您在一天的 schedule_interval 上运行 DAG,则标记为 2016-01-01 的运行将在 2016-01-01T23:59 之后不久触发。换言之,作业实例会在其涵盖的时间段结束后启动。

让我们重复一遍,调度程序会在开始日期之后、周期结束时运行您的作业一个schedule_interval

https://airflow.apache.org/scheduler.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-07
    • 2021-06-19
    • 2017-11-07
    相关资源
    最近更新 更多