python - DAG 中的动态运算符

标签 python airflow

我想知道我为实现 Airflow DAG 内的动态运算符(operator)目标所做的做法是好是坏。

The goal I had to achieve was to create a 'x' amount of operators within a DAG based on the result of an API call. This DAG will run every for example every week.

我编写的程序可以运行,但我不知道这是否是为 Airflow 开发 DAG 的良好实践。所以我的问题是:这是一个好的做法,或者如果不是,什么是解决这个问题的更好的方案?

我用来实现这个目标的代码:

with DAG('my_dag', default_args=default_args, schedule_interval='@weekly') as my_dag:

    start = DummyOperator(
        task_id='start'
    )

    endpoint = 'www.example.com/api/dummies'
    r = requests.get(endpoint)
    dummies = r.json()

   for _, dummy in enumerate(dummies):
        dummy_operator = DummyOperator(
                    task_id='dummy_opr_{}'.format(dummy['id']
                    )
        start >> dummy_operator

最佳答案

简短的回答,“是的”,这确实是动态创建此类任务的常见模式。

关于python - DAG 中的动态运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56292149/

相关文章:

Python - 小 LISP 算术解释器

python - 'METHODNAME' 作为客户端方法与扭曲的 irc _'METHODNAME'

c# - 从 Azure WebJob 运行 Python 脚本

kubernetes - helm 升级时缺少图表元数据 (Chart.yaml)

kubernetes - 使用 Apache Airflow 在 Kubernetes 中创建部署

python - pip 安装失败 SSL : CERTIFICATE_VERIFY_FAILED on windows

python - 在 python 或 pandas 中打开扩展名为 .gl 的文件夹

python-2.7 - Airflow 管理 UI 显示示例 dags

kubernetes - 如何在 Kubernetes 集群上最好地运行 Apache Airflow 任务?

airflow - 如何在使用 Airflow 实现的工作流中等待 DAG 任务中的异步事件?