要在工作周中触发每周任务,可以使用Apache Airflow来实现。以下是一个示例代码:
首先,需要安装Apache Airflow并启动Airflow的Web服务器和调度器。
然后,创建一个DAG(有向无环图)来定义任务的依赖关系和调度规则。在此示例中,我们将创建一个DAG来触发每周任务。
from datetime import datetime, timedelta
from airflow import DAG
from airflow.operators.dummy_operator import DummyOperator
# 定义DAG的默认参数
default_args = {
'owner': 'airflow',
'depends_on_past': False,
'start_date': datetime(2022, 1, 1),
'retries': 1,
'retry_delay': timedelta(minutes=5),
}
# 创建DAG对象
dag = DAG('weekly_task_dag', default_args=default_args, schedule_interval='@weekly')
# 创建任务1
task1 = DummyOperator(task_id='task1', dag=dag)
# 创建任务2
task2 = DummyOperator(task_id='task2', dag=dag)
# 创建任务3
task3 = DummyOperator(task_id='task3', dag=dag)
# 定义任务之间的依赖关系
task1 >> task2 >> task3
在上面的代码中,我们创建了三个DummyOperator作为任务的占位符。你可以根据实际需求将其替换为实际的任务运算符。
最后,将上述代码保存为Python脚本(例如,weekly_task_dag.py)并将其放置在Airflow的DAG目录中。当Airflow调度器运行时,它将自动检测到该DAG并根据定义的调度规则触发任务的执行。
注意:确保Airflow的调度器正在运行,并且配置正确的调度间隔(schedule_interval)来触发每周任务。