From 30c303274a800e345fc2a4d3bae407d1d05ed99f Mon Sep 17 00:00:00 2001 From: root Date: Tue, 21 Oct 2025 14:30:55 +0800 Subject: [PATCH] =?UTF-8?q?add=20workflow=20=E7=99=BD=E5=90=8D=E5=8D=95?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=85=A5=E6=B9=96,dev?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../白名单数据入湖/wf_dag_white_list.py | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 dev/workflow/TK_Cust/white_list/白名单数据入湖/wf_dag_white_list.py diff --git a/dev/workflow/TK_Cust/white_list/白名单数据入湖/wf_dag_white_list.py b/dev/workflow/TK_Cust/white_list/白名单数据入湖/wf_dag_white_list.py new file mode 100644 index 0000000..f85d72c --- /dev/null +++ b/dev/workflow/TK_Cust/white_list/白名单数据入湖/wf_dag_white_list.py @@ -0,0 +1,51 @@ +#!/usr/bin/python +# -*- encoding=utf-8 -*- +from airflow import DAG +from datetime import datetime, timedelta +from airflow.contrib.hooks.ssh_hook import SSHHook +from airflow.contrib.operators.ssh_operator import SSHOperator +from airflow.sensors.external_task_sensor import ExternalTaskSensor +import json + +from airflow.operators.trigger_dagrun import TriggerDagRunOperator +from airflow.operators.email_operator import EmailOperator +from airflow.utils.trigger_rule import TriggerRule + + +sshHook = SSHHook(ssh_conn_id ='ssh_air') +default_args = { +'owner': 'tek_newsletter@163.com', +'email_on_failure': True, +'email_on_retry':True, +'start_date': datetime(2024, 1, 1), +'depends_on_past': False, +'retries': 6, +'retry_delay': timedelta(minutes=10), +} + +dag = DAG('wf_dag_white_list', default_args=default_args, +schedule=None, +catchup=False, +dagrun_timeout=timedelta(minutes=160), +max_active_runs=3) + +task_failed = EmailOperator ( + dag=dag, + trigger_rule=TriggerRule.ONE_FAILED, + task_id="task_failed", + to=["tek_newsletter@163.com"], + cc=[""], + subject="white_list_failed", + html_content='

您好,white_list作业失败,请及时处理"

') + +file_tk_white_list = SSHOperator( +ssh_hook=sshHook, +task_id='file_tk_white_list', +command='python /data/airflow/bin/FILELOD.py {{ params.my_param }} {{ ds_nodash }} >>/data/airflow/logs/file_load/file_load_{{ds_nodash}}.log 2>&1 ', +params={'my_param':"tk_white_list"}, +depends_on_past=False, +retries=3, +dag=dag) + + +file_tk_white_list >> task_failed