【问题标题】:how to suppress errors in airflow cli output?如何抑制气流 cli 输出中的错误?
【发布时间】:2018-12-11 22:41:25
【问题描述】:

正在研究一些气流监控的想法。 当我执行airflow list_tasks my_dag 时,我会得到大量不需要的垃圾以及实际所需的输出:

[2018-12-11 22:39:00,301] {__init__.py:51} INFO - Using executor SequentialExecutor
[2018-12-11 22:39:00,423] {models.py:271} INFO - Filling up the DagBag from /root/airflow/dags
[2018-12-11 22:39:00,448] {models.py:380} ERROR - Failed to import: /usr/local/lib/python3.7/site-packages/airflow/example_dags/example_http_operator.py
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/airflow/models.py", line 377, in process_file
    m = imp.load_source(mod_name, filepath)
  File "/usr/local/lib/python3.7/imp.py", line 171, in load_source
    module = _load(spec)
  File "<frozen importlib._bootstrap>", line 696, in _load
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/usr/local/lib/python3.7/site-packages/airflow/example_dags/example_http_operator.py", line 27, in <module>
    from airflow.operators.http_operator import SimpleHttpOperator
  File "/usr/local/lib/python3.7/site-packages/airflow/operators/http_operator.py", line 21, in <module>
    from airflow.hooks.http_hook import HttpHook
  File "/usr/local/lib/python3.7/site-packages/airflow/hooks/http_hook.py", line 23, in <module>
    import tenacity
  File "/usr/local/lib/python3.7/site-packages/tenacity/__init__.py", line 352
    from tenacity.async import AsyncRetrying
                      ^
SyntaxError: invalid syntax
also_run_this
run_after_loop
run_this_last
runme_0
runme_1
runme_2

我真正需要的是:

also_run_this

run_after_loop

run_this_last

runme_0

runme_1

runme_2

有没有办法全部压制,除了实际结果?

【问题讨论】:

  • 貌似airflow的master分支更新了tenacity依赖到4.12,去掉了这个python版本不兼容的问题。下一个版本(4.10.3?)可能应该包含修复。
  • TBH 我非常想要一种在“填满 DagBag”时抑制所有输出的方法。

标签: airflow


【解决方案1】:

将坚韧升级到最新版本。 虽然在升级期间它显示警告: “apache-airflow 1.10.1 具有要求韧度 ==4.8.0,但您将拥有不兼容的韧度 5.0.2”。请忽略这个

兼容性: Python 3.7.1 阿帕奇气流1.10.1 坚韧5.0.2

希望这会有所帮助!

【讨论】:

    【解决方案2】:

    您使用的 Python 版本将 async 视为保留字。您可以降级到不是这种情况的版本,也可以在配置中禁用示例 DAG。

    【讨论】:

    • 这些版本适合我:python 3.7.0tenacity==5.0.2apache-airflow==1.10.1
    • 这是否也适用于tenacity==5.0.3python 3.7.2apache-airflow==1.10.2?一般在哪里可以查看哪些库是兼容的?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-20
    • 2018-01-21
    • 2012-08-11
    • 1970-01-01
    • 2011-03-29
    • 1970-01-01
    相关资源
    最近更新 更多