Airflow 如何缩短在GCP Composer上检测新Dag的时间?(气流)

Airflow 如何缩短在GCP Composer上检测新Dag的时间?(气流),airflow,google-cloud-composer,Airflow,Google Cloud Composer,我在GCP(Airflow)上创建了一个Composer集群,它工作得很好,但对于即时任务来说速度很慢。我在本地文件中创建了下一个DAG: import datetime from airflow import models from pprint import pprint as pp from airflow.contrib.kubernetes import secret from airflow.contrib.operators import kubernetes_pod_operat

我在GCP(Airflow)上创建了一个Composer集群,它工作得很好,但对于即时任务来说速度很慢。我在本地文件中创建了下一个DAG:

import datetime
from airflow import models
from pprint import pprint as pp
from airflow.contrib.kubernetes import secret
from airflow.contrib.operators import kubernetes_pod_operator
import datetime as dt

from airflow.contrib.operators.kubernetes_pod_operator import KubernetesPodOperator
from airflow.operators.bash_operator import BashOperator

YESTERDAY = datetime.datetime.now() - datetime.timedelta(days=1)


def create_task_dag(dag_id, schedule, start_date, task_id):

    dag = models.DAG(
        dag_id=dag_id,
        schedule_interval=schedule,
        start_date=start_date
    )

    with dag:
        _operator_name = KubernetesPodOperator(
            task_id='#task_type#-#taskid#',
            name='#task_type#-#taskid#',
            cmds=['bash', '-cx'],
            arguments=["command"],
            env_vars=#env_vars#,
            namespace='default',
            image='image:latest',
            image_pull_secrets="secret",
            image_pull_policy='Always',
            get_logs=True
        )
        _operator_name
        return dag

task_id='#task_type#-#taskid#'
dag_id = 'dag-#task_type#-#taskid#'
schedule = '@once'
start_date = datetime.datetime.now()

globals()[dag_id] = create_task_dag(
    dag_id=dag_id,
    schedule=schedule,
    start_date=start_date,
    task_id=task_id)
当我上传该文件时,运行需要很长时间,因此,我添加了
dag_dir_list_interval=1
,虽然有所改进,但在气流仪表板上显示需要20-30秒,在Kubernetes上启动需要40-60秒

这意味着我需要一分钟来运行Hello world

我可能弄错了吗

PS:我检查了调度程序,2-5秒后它出现在pod磁盘中

图像版本:
composer-1.8.4-airflow-1.10.3

集群:Kubernetes上的3个节点
n1-standard-1

这通常按预期工作。如果要在本地进行测试,可能需要在本地安装气流并在那里测试DAG组件。这之所以能如期发挥作用,有几个原因

  • Composer从云存储中提取DAG需要一点时间。同步是最终的
  • 在任务延迟时,气流不是“最佳”的——操作需要几秒钟才能完成,这并不罕见
  • 我怀疑,如果您尝试使用类似于
    bash操作符的东西来创建hello world,它会快得多(只有地面军事系统延迟)