gpt4 book ai didi

python - 使用自定义文件名记录 Airflow ?

转载 作者:行者123 更新时间:2023-12-04 10:02:33 33 4
gpt4 key购买 nike

我正在使用 Apache Airflow 1.10.9(基于 puckel/docker-airflow docker 镜像)通过 BashOperator 在 DAG 中运行多个 Python 脚本.日志当前写入 /usr/local/airflow/logs .

是否可以将 Airflow 配置为

  • 还将日志写入另一个目录,如 /home/foo/logs
  • 日志应该只包含来自 python 脚本的标准输出
  • 日志应以以下目录/文件名格式存储:
    /home/foo/logs/[execution-date]-[dag-id]-[task-id].log
  • 重试应该附加到相同的 .log文件,如果可能的话。否则,我们可以有命名约定:
    /home/foo/logs/[execution-date]-[dag-id]-[task-id]-[retry-number].log

  • 谢谢大家!

    示例 DAG
    from airflow import DAG
    from airflow.operators.bash_operator import BashOperator

    default_args = { ... }

    dag = DAG(
    'mydag',
    default_args=default_args,
    schedule_interval='*/10 * * * *',
    )

    # Log to /home/foo/logs/2020-05-12-mydag-hello_world.log
    t1 = BashOperator(
    task_id='hello_world',
    bash_command='/path/to/env/bin/python /path/to/scripts/hello_world.py',
    dag=dag,
    )


    # Log to /home/foo/logs/2020-05-12-mydag-hey_there.log
    t2 = BashOperator(
    task_id='hey_there',
    bash_command='/path/to/env/bin/python /path/to/scripts/hey_there.py',
    dag=dag,
    )

    t1 >> t2

    最佳答案

    https://bcb.github.io/airflow/run-dag-and-watch-logs
    这个链接有答案。
    设置 FILENAME_TEMPLATE 设置。
    导出 AIRFLOW__CORE__LOG_FILENAME_TEMPLATE="{{ ti.dag_id }}.log"
    或者
    你可以编辑airflow.cfg文件
    log_filename_template 变量
    在那里添加任何与 Airflow 相关的变量。

    关于python - 使用自定义文件名记录 Airflow ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61757827/

    33 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com