gpt4 book ai didi

Python Flask Web API [Heroku] : It runs locally but shows Application Error when deployed

转载 作者:行者123 更新时间:2023-12-03 16:15:09 31 4
gpt4 key购买 nike

我在 StackOverflow 上进行了搜索,寻找可以帮助我使 Web API 正常工作的答案,但不知何故,我仍然没有我需要的答案。我已经遵循了所有必要的步骤,直到我可以将项目部署到 heroku(通过 Github),并且它没有显示构建错误。 Procfile 已经包含在内,我的 requirements.txt 也是如此。请参阅以下内容:

项目目录:

app-directory/
|-main-api.py
|-Procfile
|-requirements.txt
|-..other files..

Procfile(更新):
web: gunicorn --bind 127.0.0.1:5000 main-api:app

要求.txt:
  • flask
  • PyMongo
  • Gunicorn

  • 在主 api.py...
    @app.route('/', methods=['GET'])
    def get_index():
    customers = mongo.db.customers

    output = []

    for c in customers.find():
    output.append({'_id': c['_id'], 'first_name': c['first_name'],
    'last_name': c['last_name'],
    'date_of_birth': c['date_of_birth'],
    'is_online': c['is_online']})

    return jsonify({'results': output})

    最后……在 Heroku 中运行 web 项目:

    Heroku Web - Python-Flask-错误



    任何有类似经验或对这个问题有正确解决方案的人,如果你能分享它,不胜感激。感谢百万人!

    附言抱歉,我忘了从 Heroku 添加日志:
    2017-04-24T18:22:17.118866+00:00 heroku[web.1]: Starting process with command `gunicorn --bind 127.0.0.1:5000 main-api:app`
    2017-04-24T18:22:20.224956+00:00 app[web.1]: [2017-04-24 18:22:20 +0000] [4] [INFO] Starting gunicorn 19.7.1
    2017-04-24T18:22:20.225914+00:00 app[web.1]: [2017-04-24 18:22:20 +0000] [4] [INFO] Listening at: http://127.0.0.1:5000 (4)
    2017-04-24T18:22:20.226111+00:00 app[web.1]: [2017-04-24 18:22:20 +0000] [4] [INFO] Using worker: sync
    2017-04-24T18:22:20.230648+00:00 app[web.1]: [2017-04-24 18:22:20 +0000] [9] [INFO] Booting worker with pid: 9
    2017-04-24T18:22:20.332390+00:00 app[web.1]: [2017-04-24 18:22:20 +0000] [10] [INFO] Booting worker with pid: 10
    2017-04-24T18:23:17.510473+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
    2017-04-24T18:23:17.510556+00:00 heroku[web.1]: Stopping process with SIGKILL
    2017-04-24T18:23:17.686086+00:00 heroku[web.1]: State changed from starting to crashed
    2017-04-24T18:23:17.667150+00:00 heroku[web.1]: Process exited with status 137
    2017-04-24T18:23:19.078229+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=cx-machinelearning.herokuapp.com request_id=1ce56539-862b-4355-ba36-a6453a646890 fwd="101.127.102.75" dyno= connect= service= status=503 bytes= protocol=https
    2017-04-24T18:23:19.971719+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=cx-machinelearning.herokuapp.com request_id=55d8cad7-3967-466b-b78c-d9e377be8cbc fwd="101.127.102.75" dyno= connect= service= status=503 bytes= protocol=https

    我已经检查以确保在 中设置了 debug=True主 main_api.py 的部分。

    最佳答案

    看起来 Heroku 负载均衡器无法访问您的应用程序,因为它仅监听 localhost(IP 地址 127.0.0.1)。此外,Heroku 动态分配端口号并将当前值分配给 PORT环境变量。

    请尝试使用以下 Procfile:

    web: gunicorn --bind 0.0.0.0:$PORT main-api:app

    关于Python Flask Web API [Heroku] : It runs locally but shows Application Error when deployed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43593542/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com