【发布时间】:2021-04-19 10:56:55
【问题描述】:
我对 Apache Airflow 完全陌生。我有一个情况。我使用的代码是
import airflow
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from datetime import datetime, timedelta
from airflow.contrib.operators.ssh_operator import SSHOperator
from airflow.contrib.hooks.ssh_hook import SSHHook
default_args = {
'owner': 'john',
'depends_on_past': False,
'email': [''],
'email_on_failure': False,
'email_on_retry': False,
'retries': 0,
'retry_delay': timedelta(minutes=5)
}
dag = DAG(
'tutorial',
default_args = default_args,
description='A simple tutorial DAG',
schedule_interval=None)
bash_tutorial = """
echo "Execute shell file: /A/B/server/tutorial.ksh"
echo "{{macros.ds_format(ds, "%Y-%m-%d", "%m-%d-%Y"}}"
source /home/johnbs/.profile
/A/B/server/tutorial.ksh
"""
t1 = SSHOperator(
ssh_conn_id='dev'
task_id='tutorial.ksh'
command=bash_tutorial,
dag=dag
)
使用气流,我想在开发和测试服务器等不同服务器中触发 ksh 脚本,即
tutorial.ksh 存在于路径 (/A/B/C/tutorial.ksh) 的开发服务器(conn_id 为 'dev') 和路径 (/A) 的测试服务器(conn_id 为 'test') /B/D/tutorial.ksh)...这里你可以看到来自dev的C文件夹和来自test的D文件夹......我应该在哪个区域更新代码?
【问题讨论】:
标签: python airflow airflow-scheduler