我已经为DAG安排了一个简单的bash任务,每5分钟运行一次:
# bash_dag.py
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from datetime import datetime, timedelta
default_args = {
'owner': 'airflow',
'start_date' : datetime(2019, 5, 30)
}
dag = DAG(
'bash_count',
default_args=default_args,
schedule_interval='*/5 * * * *',
catchup = False
)
t1 = BashOperator(
task_id='print_date',
bash_command='date',
dag=dag
)
计划工作正常,DAG每5分钟执行一次阈值。但是,我注意到第5分钟阈值和任务排队时间之间存在明显的延迟。对于图中所示的示例,任务排队需要3到50秒。例如,应该在20:05:00之后触发图像中最后一次DAG执行,但是任务实例在28秒后(20:05:28)排队。
我很惊讶,因为要安排的DAG只有一个非常简单的任务。这是正常的气流延迟吗?在处理更复杂的DAG时,我应该期待进一步的延迟吗?
我正在使用OS Mojave的16 GB Mac上以Postgres作为数据库运行本地气流服务器。机器不受资源限制。