烧瓶应用程序不会在 heroku 服务器上启动



我正在尝试使用 Heroku 部署一个 Flask 应用程序。这是简单的 API。与工头在当地工作得很好,但是在 heroku 上启动时我收到错误(日志如下)。

这是我的应用程序代码(我知道它只是在一个块中查找,但我在将其拆分为文件时遇到问题):

import flask
import flask.ext.sqlalchemy
import flask.ext.restless
app = flask.Flask(__name__)
app.config['DEBUG'] = True
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://user:password@server/db'
db = flask.ext.sqlalchemy.SQLAlchemy(app)

from sqlalchemy import Column, Integer, String, ForeignKey,
    Date, DateTime, Boolean, Float

class fruits(db.Model):
    __tablename__ = 'fruits'
    id = Column(Integer, primary_key=True)
    name = Column(String(50),nullable=False)
    calories = Column(Integer, nullable=False)
    amount = Column(Integer, nullable=False)
    unit = Column(String(10),nullable=False)
    url = Column(String(100),nullable=True)

@app.route('/')
def hello_world():
    return 'Hello World!'

# Create the database tables.
db.create_all()
# Create the Flask-Restless API manager.
manager = flask.ext.restless.APIManager(app, flask_sqlalchemy_db=db)
# Create API endpoints, which will be available at /api/<tablename> by
# default. Allowed HTTP methods can be specified as well.
manager.create_api(fruits, methods=['GET', 'POST', 'DELETE'])
manager.create_api(tmp, methods=['GET', 'POST', 'DELETE'])

# start the flask loop
if __name__ == '__main__':
        import os  
        port = int(os.environ.get('PORT', 33507)) 
        app.run(host='0.0.0.0', port=port)

这是 heroku 日志:

at=error code=H14 desc="No web processes running" method=GET path=/ host=blooming-taiga-1210.herokuapp.com fwd="188.33.19.82" dyno= connect= service= status=503 bytes=

和我的Procfile:

web: python __init__.py

真的有一个名为 web 的正在运行的测功机吗?看起来您可能已将网络测功机缩小到0:

使用这样的ps:scale命令将您的网络测功机扩展到至少 1:

heroku ps:scale web=1

您可以使用

heroku ps

以确认您的web测功机正在运行。

1.Procfile 应该没有任何扩展名。

2.Procfile内容应为: web: gunicorn app:app --preload

注意:通常--preload在尺寸较大时使用。

我运行以下命令来解决此问题,

heroku ps:scale web=1 --app YourApp

在 Linux 、WSL、Mac 或 PowerShell 等 CLI bash上运行它。注意:如果您在辅助角色中运行;您应该更改为工人=1

相关内容

  • 没有找到相关文章

最新更新