可能是因为Airflow运行的时区和您所在的时区不同。在Airflow所在的服务器上,进入“/usr/local/airflow/airflow.cfg”文件,找到“[core]”部分的时区设置,确保它与您所在的时区相同,例如:
timezone = Asia/Shanghai
如果这不是问题的原因,可以考虑检查Airflow DAG中任务的时间计划是否与您的意图相符。另外,有时候当我们通过改变DAG文件内容来更改时间计划时,必须重启Airflow才能使更改生效。您可以尝试在终端中输入以下命令,以重启Airflow:
sudo systemctl restart airflow-webserver sudo systemctl restart airflow-scheduler
最后,还有一种可能是您的Airflow DAG中包含了过去和未来的执行日期,这也会影响Airflow当前的时间计划执行。您可以将未来的执行日期更改为将来才有的日期,然后重新运行DAG,以便重新计算计划执行时间。例如:
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': 0 }
dag = DAG( 'example_dag', default_args=default_args, catchup=False, schedule_interval='0 0 * * *' # 每天午夜执行 )
t1 = BashOperator( task_id='task1', bash_command='echo "Hello World!"', dag=dag )
t1