Я запланировал 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 секунд. Например, последнее выполнение группы DAG в образе должно было инициироваться после 20:05:00, но экземпляр задачи был поставлен в очередь через 28 секунд (20:05:28).
Я удивлен, что это так, поскольку у запланированной DAG есть одна очень простая задача. Это нормальная задержка воздушного потока? Стоит ли ожидать дальнейших задержек при работе с более сложными группами доступности баз данных?
Я работаю на локальном сервере воздушных потоков с Postgres как db на Mac Mac на 16 ГБ с ОС Mojave. Машина не ограничена в ресурсах.