首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >循环中运行-运行计划中的气流dag问题

循环中运行-运行计划中的气流dag问题
EN

Stack Overflow用户
提问于 2021-05-22 18:47:25
回答 1查看 36关注 0票数 0

我在计划中为远程ssh上的run命令创建了这个dag。

代码语言:javascript
复制
from datetime import timedelta
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from airflow.utils.dates import days_ago
from airflow.contrib.hooks.ssh_hook import SSHHook as sscon
from airflow.contrib.operators.ssh_operator import SSHOperator


default_args = {
    'owner': 'airflow',
    'depends_on_past': False,
    'start_date': days_ago(0),
    'email': ['e@example.com'],
    'email_on_failure': False,
    'email_on_retry': False,
    #'retries': 1,
    #'retry_delay': timedelta(minutes=10),
}
dag = DAG(
    'ssh_second',
    default_args=default_args,
    description='A simple bash DAG LAB',
    schedule_interval=timedelta(minutes=1),
    tags=['test'],
)

sshcon = sscon(remote_host="192.168.1.250", username="user", password="password", port=22)

t1 = BashOperator(
    task_id='echo1',
    bash_command='echo "simple task! by dag" ',
    dag=dag,
)

t5 = SSHOperator(
    task_id="remote-connection",
    command="/bin/date >> /home/user/date.txt && echo 'from airflow' >> /home/user/date.txt",
    ssh_hook=sshcon,
    dag=dag)

t1 >> t5

它起作用了,但气流每时每刻都在运转,势不可挡。

tree view of loop run

我不知道问题是从哪里来的!

EN

回答 1

Stack Overflow用户

发布于 2021-05-22 23:14:20

您的schedule_interval设置为每分钟:schedule_interval=timedelta(minutes=1),这是导致DAG执行如此频繁的原因。将schedule_interval更新为频率较低的间隔。

此外,我强烈建议将start_date修改为静态值,而不是动态值(例如days_ago(0))。当我开始使用Airflow时,这个guide和其他的都非常有用。设置静态start_date后,如果不希望从start_date到当前时间执行“缺失”运行,则可以设置catchup=False

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67648622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档