小编qua*_*ntm的帖子

运行简单的Airflow BashOperator时出现TemplateNotFound错误

我正在尝试编写我们的第一个Airflow DAG,当我尝试使用命令列出任务时,我收到以下错误airflow list_tasks orderwarehouse:

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/airflow/models.py", line 2038, in resolve_template_files
    setattr(self, attr, env.loader.get_source(env, content)[0])
  File "/usr/local/lib/python2.7/site-packages/jinja2/loaders.py", line 187, in get_source
    raise TemplateNotFound(template)
TemplateNotFound: ./home/deploy/airflow-server/task_scripts/orderwarehouse/load_warehouse_tables.sh
Run Code Online (Sandbox Code Playgroud)

此DAG不应使用模板.我只是按照文档中的说明尝试在指定位置运行shell脚本.shell脚本确实存在于该位置并且拼写正确.我的DAG看起来像这样:

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

default_args = {
    'owner': 'airflow',
    'depends_on_past': False,
    'start_date': datetime(2015, 6, 1),
    'email': ['airflow@airflow.com'],
    'email_on_failure': False,
    'email_on_retry': False,
    'retries': 1,
    'retry_delay': timedelta(minutes=5),
    # 'queue': 'bash_queue',
    # 'pool': 'backfill',
    # 'priority_weight': 10,
    # 'end_date': datetime(2016, 1, 1),
}

orderwarehouse = …
Run Code Online (Sandbox Code Playgroud)

python airflow

19
推荐指数
2
解决办法
5417
查看次数

Heroku/gunicorn/flask应用程序说"正在使用连接"

我有一个在本地运行良好的Flask应用程序,但是当我推送到Heroku时,我收到错误消息:

* Running on http://127.0.0.1:5000/
[INFO] Starting gunicorn 18.0
[ERROR] Connection in use: ('0.0.0.0', 8163)
Run Code Online (Sandbox Code Playgroud)

我在这个问题上尝试了解决方案,其中gunicorn和werkzeug正在互相争斗,但是__name__ == "__main__"在我的主应用程序文件(run.py)中添加一个 块并没有解决我的错误.

这篇SO帖子建议确保我的流程全部清理完毕.我这样做但它仍然无法正常工作,所以我实际上删除了我的整个heroku应用程序并进行了修复,它仍然给出了同样的错误.

我的run.py文件看起来像:

#!pl_env/bin/python
from app import app

if __name__ == "__main__":
  app.run(debug=True, port=33507)

# [33507 is the Flask port on Heroku]
Run Code Online (Sandbox Code Playgroud)

我的Procfile是:web:gunicorn run:app

__init__.py应用程序中的文件是:

from flask import Flask
import os
from flask.ext.login import LoginManager

app = Flask(__name__)
app.config.from_object('config')

lm = LoginManager()
lm.init_app(app)
lm.login_view = 'login'

from app import views …
Run Code Online (Sandbox Code Playgroud)

python heroku flask gunicorn

6
推荐指数
1
解决办法
1661
查看次数

标签 统计

python ×2

airflow ×1

flask ×1

gunicorn ×1

heroku ×1