欢迎来到夜的世界

莫听穿林打叶声,何妨吟啸且徐行。竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生.料峭春风吹酒醒,微冷,山头斜照却相迎。回首向来萧瑟处,归去,也无风雨也无晴。
扩大
缩小

airflow的定时任务

 

 

代码展示 : 

import os
from datetime import datetime

import pytz
from airflow import DAG
from airflow.models import Variable
from airflow.operators.http_operator import SimpleHttpOperator
from airflow.operators.python_operator import PythonOperator
from airflow.operators.bash_operator import BashOperator
from airflow.hooks.postgres_hook import PostgresHook

# 设置第一次触发任务时间 及 设置任务执行的时区
local_tz = pendulum.timezone("Asia/Shanghai")
start_date = datetime.datetime(2016, 1, 1, tzinfo=local_tz)

# dag默认参数
args = {
    "owner": "Rgc",  # 任务拥有人
    "depends_on_past": False,  # 是否依赖过去执行此任务的结果,如果为True,则过去任务必须成功,才能执行此次任务
    "start_date": start_date,  # 任务开始执行时间
}

# 定义一个DAG
# 参数catchup指 是否填充执行 start_date到现在 未执行的缺少任务;如:start_date定义为2019-10-10,现在是2019-10-29,任务是每天定时执行一次,
# 如果此参数设置为True,则 会生成 10号到29号之间的19点执行此任务;如果设置为False,则不会补充执行任务;
# schedule_interval:定时执行方式,推荐使用如下字符串方式, 方便写出定时规则的网址:https://crontab.guru/
# 也可以使用  :  schedule_interval= datetime.timedelta(minutes=5)  5分钟执行一次
dag = DAG(
    dag_id="HttpSendDag",
    catchup=False,
    default_args=args,
    schedule_interval="0 19 * * *"
)


# 触发任务的时候的某些参数 , ds=today
def func(ds, next_ds, run_id, **kwargs):
    pass


# 调动Python相关函数
t1 = PythonOperator(
    task_id='deviation_new',
    python_callable=func,
    provide_context=True,
    dag=dag
)

注意:当您不想安排DAG时,请使用schedule_interval=None而不是schedule_interval='None'

# 每5分钟执行一次 
schedule_interval="*/5 * * * *"

# 每小时执行一次 
schedule_interval="0 1 * * *"

# 每天8-20点之间,每小时执行一次
schedule_interval="0 8-20 * * *"

 

posted on 2020-03-30 14:06  二十四桥_明月夜  阅读(3884)  评论(0编辑  收藏  举报

导航