写一个airflow的dag吧,每天凌晨3点执行,第一个任务请求百度,第二个任务获取当前系统时间
时间: 2023-02-07 09:57:19 浏览: 256
时间比较,获取系统当前时间
5星 · 资源好评率100%
这是一个使用Airflow DAG实现每天凌晨 3 点执行的任务的示例代码:
```python
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from datetime import datetime, timedelta
# 默认参数
default_args = {
'owner': 'me',
'depends_on_past': False,
'start_date': datetime(2020, 1, 1),
'email_on_failure': False,
'email_on_retry': False,
'retries': 1,
'retry_delay': timedelta(minutes=5),
}
# DAG ID,唯一标识 DAG
dag_id = 'my_dag'
# DAG 对象
dag = DAG(
dag_id,
default_args=default_args,
schedule_interval='0 3 * * *' # 每天凌晨 3 点执行
)
# 第一个任务:请求百度
task_1 = BashOperator(
task_id='request_baidu',
bash_command='curl https://www.baidu.com',
dag=dag
)
# 第二个任务:获取当前系统时间
task_2 = BashOperator(
task_id='get_current_time',
bash_command='date',
dag=dag
)
# 设置任务依赖,即 task_2 依赖 task_1
task_2.set_upstream(task_1)
```
在这个 DAG 中,第一个任务是通过 `BashOperator` 执行 `curl` 命令请求百度,第二个任务是通过 `BashOperator` 执行 `date` 命令获取当前系统时间。同时,第二个任务设置为依赖于第一个任务,意味着第二个任务会在第一个任务执行完成后再开始执行。
阅读全文