Airflow是一个开源的工具,可让您以编程方式创建、调度和监控工作流,您可以使用它在自己的安排下运行任务。
在Airflow中,您可以使用DAG(有向无环图)定义工作流程。在DAG中,您可以定义任务(操作),其所需的输入和其执行规则。
要在其自己的调度下运行任务,请确保将任务的调度时间表设置为您所需的时间表。例如,以下DAG定义将在每周五的下午2点启动任务:
from airflow import DAG
from airflow.operators.python_operator import PythonOperator
from datetime import datetime, timedelta
default_args = {
'owner': 'airflow',
'depends_on_past': False,
'start_date': datetime(2019, 1, 1),
'email_on_failure': False,
'email_on_retry': False,
'retries': 1,
'retry_delay': timedelta(minutes=5),
}
dag = DAG(
'example_dag',
default_args=default_args,
description='An example DAG',
schedule_interval='0 14 * * 5',
)
def my_job():
print("Hello, world!")
run_this = PythonOperator(
task_id='my_task',
python_callable=my_job,
dag=dag,
)
run_this
在这个示例DAG中,我们定义了一个名为'my_task”的PythonOperator,它调用一个名为'my_job”的Python函数。该DAG的调度间隔设置为每周五下午2点。在任务运行时,任务将执行my_job函数,该函数将打印消息'Hello, world!”到控制台。
通过这种方式,您可以创建自己的DAG,并在Airflow自己的调度下运行任务。