Airflow调度

1、如需一日调度多次任务

eg:每天 8:40 ,12:40 , 16:40 ,20:40 每隔4小时执行
schedule_interval=‘40 08-20/4 * * *’

2、若一日执行的时间没有规律

eg:执行的时间分别为8:40 ,13:40 , 17:40

from datetime import datetime, timedelta
from airflow import DAG
from airflow.operators.python_operator import PythonOperator

# 定义任务逻辑
def my_task():
    # 这里放置你的任务逻辑代码
    print("任务执行")

# 定义DAG
default_args = {
    'owner': 'airflow',
    'depends_on_past': False,
    'start_date': datetime(2022, 1, 1),
    'retries': 1,
    'retry_delay': timedelta(minutes=5),
}

dag = DAG('my_dag', default_args=default_args, schedule_interval=timedelta(days=1))

# 定义三个任务,分别对应8:40、13:40和17:40
task1 = PythonOperator(
    task_id='task1',
    python_callable=my_task,
    dag=dag,
    schedule_interval="40 8 * * *"
)

task2 = PythonOperator(
    task_id='task2',
    python_callable=my_task,
    dag=dag,
    schedule_interval="40 13 * * *"
)

task3 = PythonOperator(
    task_id='task3',
    python_callable=my_task,
    dag=dag,
    schedule_interval="40 17 * * *"
)

# 设置任务之间的依赖关系
task1 >> task2 >> task3
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Airflow是一个开源的数据管道平台,可以帮助用户创建、调度和监控复杂的数据管道。本教程将介绍如何使用Airflow进行调度。 1. 安装Airflow 首先,需要安装Airflow。可以使用pip安装Airflow: ``` pip install apache-airflow ``` 2. 初始化Airflow数据库 Airflow需要一个数据库来存储任务和任务状态。可以使用以下命令初始化Airflow数据库: ``` airflow initdb ``` 3. 创建DAG DAG是Airflow中的一个核心概念,表示一组有向无环图,用于定义任务之间的依赖关系。可以在`dags`文件夹中创建一个Python文件来定义DAG。 以下是一个示例DAG: ```python from datetime import datetime, timedelta from airflow import DAG from airflow.operators.bash_operator import BashOperator default_args = { 'owner': 'airflow', 'depends_on_past': False, 'start_date': datetime(2021, 1, 1), 'retries': 1, 'retry_delay': timedelta(minutes=5), } dag = DAG( 'my_dag', default_args=default_args, schedule_interval=timedelta(days=1), ) t1 = BashOperator( task_id='task_1', bash_command='echo "Hello World"', dag=dag, ) t2 = BashOperator( task_id='task_2', bash_command='echo "Goodbye World"', dag=dag, ) t2.set_upstream(t1) ``` 该DAG包含两个任务,`task_1`和`task_2`。`task_2`依赖于`task_1`,因此`set_upstream`方法用于设置任务之间的依赖关系。 4. 启动Airflow调度程序 可以使用以下命令启动Airflow调度程序: ``` airflow webserver -p 8080 ``` 这将启动Web服务器,允许用户在浏览器中查看和管理DAG。还需要在另一个终端窗口中启动调度程序: ``` airflow scheduler ``` 5. 运行DAG 可以在Web界面中启动DAG。单击“DAGs”选项卡,然后单击DAG名称。单击“Trigger DAG”按钮以启动DAG。 6. 监控DAG 可以在Airflow Web界面中监控DAG的进度。单击“DAGs”选项卡,然后单击DAG名称。在DAG详情页面上,可以查看任务的状态和日志。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值