小编Shi*_*iva的帖子

jinja2:TemplateSyntaxError:期望令牌',',得到'字符串'

我是Jinja2的新手,并且使用python正则表达式(re)时遇到问题.在下面的代码中,我想加粗包含错误字符串的行.

  {% block content %}
    <div class="container">
      {% for l in lines %}
         {% if re.search(r"Error", l) %}  {# <<< Throws error #}
            <b> {{ l }} </b>
         {% else %}
            {{ l }} <hr>
         {% endif %}
      {% endfor %}
    </div>
 {% endblock %}
Run Code Online (Sandbox Code Playgroud)

上面的re.search引发了以下错误:

jinja2.exceptions.TemplateSyntaxError
TemplateSyntaxError: expected token ',', got 'string'
Run Code Online (Sandbox Code Playgroud)

python templates jinja2

5
推荐指数
1
解决办法
1万
查看次数

将命令行参数传递给气流BashOperator

有没有一种方法可以将命令行参数传递给Airflow BashOperator。目前,我有一个python脚本,它接受date参数并执行一些特定的活动,例如清除早于给定日期的特定文件夹。

在仅执行一项任务的简化代码中,我想做的是

from __future__ import print_function
from airflow.operators import BashOperator
from airflow.models import DAG
from datetime import datetime, timedelta

default_args = {
    'owner'             : 'airflow'
    ,'depends_on_past'  : False
    ,'start_date'       : datetime(2017, 01, 18)
    ,'email'            : ['abc@xyz.com']
    ,'retries'          : 1
    ,'retry_delay'      : timedelta(minutes=5)
}

dag = DAG(
    dag_id='data_dir_cleanup'
    ,default_args=default_args
    ,schedule_interval='0 13 * * *'
    ,dagrun_timeout=timedelta(minutes=10)
    )

cleanup_task = BashOperator(
        task_id='task_1_data_file_cleanup'
        ,bash_command='python cleanup.py --date $DATE 2>&1 >>  /tmp/airflow/data_dir_cleanup.log'
        #--------------------------------------^^^^^^-- (DATE variable which would have been given on command line)
        #,env=env
        ,dag=dag …
Run Code Online (Sandbox Code Playgroud)

python bash workflow airflow

3
推荐指数
3
解决办法
9667
查看次数

标签 统计

python ×2

airflow ×1

bash ×1

jinja2 ×1

templates ×1

workflow ×1