我有一个气流作业,该作业连接到Postgres db并更新一些值。 下面是代码,它可以正常工作。
但是,在测试我的全部障碍时,我会大量更新生产中的记录。 (因为我不得不花费很多时间才能获得最终版本代码)
现在我要写一个类似的dag,但是不想在测试时更新生产中的表。
是否有直接方法运行dag仅用于测试。 就像放置诸如dry_run = true之类的参数一样。
验证码:
import airflow
from airflow.operators.bash_operator import BashOperator
from airflow import DAG
from airflow.hooks.postgres_hook import PostgresHook
from airflow.operators.bash_operator import BashOperator
from airflow.operators.python_operator import PythonOperator
from airflow.operators.postgres_operator import PostgresOperator
import os
from datetime import datetime, timedelta
import numpy as np
default_args = {
"owner": "airflow",
"depends_on_past": False,
"start_date": airflow.utils.dates.days_ago(1),
"email": ["airflow@airflow.com"],
"email_on_failure": False,
"email_on_retry": False,
"retries": 1,
"retry_delay": timedelta(minutes=1),
}
dag = DAG("Score_update", default_args=default_args, schedule_interval='3,33 * * * *',template_searchpath = ['/root/airflow/sql/'],max_active_runs=1)
updateOp = PostgresOperator(
task_id='Refresh_DailyScore',
postgres_conn_id='postgress_sophi',
sql='Score.sql',
params={'name':'alpa'},
dag=dag)
updateOp