add workflow 白名单数据入湖,dev

This commit is contained in:
root 2025-10-21 14:30:55 +08:00
parent 899447095c
commit 30c303274a
1 changed files with 51 additions and 0 deletions

View File

@ -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='<h3>您好white_list作业失败请及时处理" </h3>')
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