Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
防止操作员任务抛出“;AirflowException:Bash命令失败;_Airflow - Fatal编程技术网

防止操作员任务抛出“;AirflowException:Bash命令失败;

防止操作员任务抛出“;AirflowException:Bash命令失败;,airflow,Airflow,我有一个气流任务,可以运行youtube dl,工作正常。我正在与Bash操作员一起运行此操作: YOUTUBE_DL_CMD = ( '/usr/local/bin/youtube-dl -w -i ' '--max-downloads {{ params.max_downloads }} ' '--write-info-json "{{ params.playlist_url }}" ' '-o "{{ params.output }}"' ) 然而,当它完

我有一个气流任务,可以运行
youtube dl
,工作正常。我正在与Bash操作员一起运行此操作:

YOUTUBE_DL_CMD = (
    '/usr/local/bin/youtube-dl -w -i '
    '--max-downloads {{ params.max_downloads }} '
    '--write-info-json "{{ params.playlist_url }}" '
    '-o "{{ params.output }}"'
)
然而,当它完成时,由于“错误的退出代码”,它会触发一个错误。并因此将我的DAG运行标记为失败

这是通过调用工具后退出的方式来实现的。以下是我从气流日志中提取的有关错误的一些输出。请注意,
——已达到最大下载限制,当成功退出时,
youtube dl
会输出中止

{{bash_operator.py:128}} INFO - --max-download limit reached, aborting.
{{bash_operator.py:132}} INFO - Command exited with return code 101
{{taskinstance.py:1047}} ERROR - Bash command failed
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/airflow/models/taskinstance.py", line 922, in _run_raw_task
    result = task_copy.execute(context=context)
  File "/usr/local/lib/python3.7/site-packages/airflow/operators/bash_operator.py", line 136, in execute
    raise AirflowException("Bash command failed")
airflow.exceptions.AirflowException: Bash command failed
有什么方法可以防止气流中出现此错误

  • 出口代码101看起来像是真正的问题-

  • 您可以隐藏
    youtube\u dl
    退出气流的代码:

  • YOUTUBE\u DL\u CMD=(
    “/usr/local/bin/youtube dl-w-i”
    “--max downloads{{params.max_downloads}”
    '--write info json“{params.playlist_url}}”
    '-o“{params.output}}”| | true'
    )
    
    正是我想要的!正如预期的那样,气流显示了成功