在网上搜索答案后,我似乎无法找到一个可靠的答案。目前,我的目录设置方式如下:
flaskapp
-app
-intro_to_flask
+__init__.py
+config.py
+routes.py
+forms.py
-runserver.py
-Readme.md
-bin
-include
-lib
-view
Procfile
requirements.txt
所以我不确定Procfile
是否设置正确...我这样设置:
web: gunicorn --pythonpath app runserver
然而,当我运行foreman start ... heroku进入一个不断重启连接的循环时,我尝试在虚拟环境中手动设置端口导出PORT = 5001,但我仍然得到同样的错误:
Running on http://127.0.0.1:5000/
12:21:20 web.1 | * Restarting with reloader
12:21:20 web.1 | 2014-02-22 12:21:20 [34532] [INFO] Starting gunicorn 18.0
12:21:20 web.1 | 2014-02-22 12:21:20 [34532] [ERROR] Connection in use: ('0.0.0.0', 5001)
此外,我已经杀死了所有正在使用的枪支进程并尝试再次开始领班工作......任何想法可能会发生什么?
这是我的runserver.py
from intro_to_flask import app
app.run(debug=True)
答案 0 :(得分:2)
在gunicorn上运行应用程序时,不要使用启动开发服务器的相同启动脚本。所有gunicorn需要知道的是从哪里导入应用程序。在你的情况下,我认为你在Procfile中想要的是这样的:
web: gunicorn --pythonpath app intro_to_flask:app
不确定这是否会按原样运行,或者您是否需要进行微调。这个想法是你需要为gunicorn提供定义应用程序的包或模块,然后是冒号,然后是应用程序实例符号。
我希望这会有所帮助。