Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.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
Python Heroku/gunicorn/flask应用程序说;“正在使用的连接”;_Python_Heroku_Flask_Gunicorn - Fatal编程技术网

Python Heroku/gunicorn/flask应用程序说;“正在使用的连接”;

Python Heroku/gunicorn/flask应用程序说;“正在使用的连接”;,python,heroku,flask,gunicorn,Python,Heroku,Flask,Gunicorn,我有一个Flask应用程序,可以在本地正常运行,但当我推到Heroku时,会收到错误消息: * Running on http://127.0.0.1:5000/ [INFO] Starting gunicorn 18.0 [ERROR] Connection in use: ('0.0.0.0', 8163) 我在中尝试了这个解决方案,gunicorn和werkzeug正在相互争斗,但在我的主应用程序文件(run.py)中添加一个\uuuu name\uuuuuuuu==“\uuuuuuu

我有一个Flask应用程序,可以在本地正常运行,但当我推到Heroku时,会收到错误消息:

* Running on http://127.0.0.1:5000/
[INFO] Starting gunicorn 18.0
[ERROR] Connection in use: ('0.0.0.0', 8163)
我在中尝试了这个解决方案,gunicorn和werkzeug正在相互争斗,但在我的主应用程序文件(
run.py
)中添加一个
\uuuu name\uuuuuuuu==“\uuuuuuu main\uuuuuuu”
块并没有解决我的错误

建议确保我的流程都被清理干净。我这样做了,但仍然不起作用,所以我实际上删除了我的整个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]
我的
Procfile
是: 网站:gunicorn运行:应用程序

应用程序中的
\uuuu init\uuuuu.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
Views具有应用程序的丰富逻辑,但我不认为有任何东西会影响gunicorn。以下是views.py导入的示例:

from flask import Flask, render_template, flash, redirect
from flask.ext.login import login_required, login_user
from app import app, lm
from forms import LoginForm
我完全不知道现在该从哪里找出这个连接错误。有没有想过为什么它似乎认为我已经在使用
0.0.0.0

多谢各位

莫妮卡

编辑:我使用
foreman start
在本地运行了该应用程序,它在
0.0.0.0:5000
中运行良好,因此我认为我遇到了Heroku问题

EDIT2:我故意破坏了我的视图流——创建了一个内部无限引用——并推动它以查看会发生什么。我得到了预期的错误日志,取消了它,并推动了回滚,现在它开始工作了。我完全不知道为什么这会起作用,除了可能以一种预期的方式破坏它会冲淡我的gunicorn连接。如果有人能解释这个谜,我会喜欢的

app.run(host='0.0.0.0') 

可能会像前面解释的那样,你的应用程序不应该在
5000上可用,因为你没有指定我可以看到的端口。(您在
run.py
中指定了
33507
,gunicorn的错误消息表明它正试图绑定到
8163
)-您是否在
views.py
中创建另一个Flask应用程序,并在没有防护的情况下运行它?这是一个有趣的问题——在我成功的运行中,gunicorn绑定到了
18629
,当地的工头正在查看
5000
,而没有人在查看
33507
。我不认为我是在
views.py
中创建一个新的应用程序,我认为我是在导入现有的
\uuu init\uuuuuu.py
,但这里是
视图的要点。py
:Ah-8163可能是一个pid(进程id)-在进行更新时,旧的gunicorn进程没有被拆除,导致了错误。