Heroku应用程序错误python烧瓶

时间:2016-11-04 08:13:23

标签: python heroku flask

我试图让生产做好准备。 将来拥有自己的域名并调用条带。 但是,我在部署我的应用时出现问题。

' geeni.py'

class ChargeUser(Resource):
    def post(self):
        jsonData = request.get_json(force=True)
        stripeid = jsonData['stripeid_customer']
        currency = jsonData['currency']
        amount = jsonData['amount']
        apiKey = jsonData['api_key']
        try:
            stripe.Charge.create(amount = amount, source=stripeid, currency=currency)
            return jsonify({'Msg':'Charged!'})
        except:
            raise

api.add_resource(ChargeUser,'/')
if __name__ == "__main__":
    port = int(os.environ.get("PORT", 5000))
    app.run(host='0.0.0.0', port=port)

根据我的ProcFile,我有 以下内容

"web gunicorn geeni:app"

所以我打电话给

heroku ps:scale web=1

立即抛出这个错误:

    2016-11-04T09:07:19.592920+00:00 heroku[web.1]: Stopping all processes with SIGTERM
2016-11-04T09:07:20.540914+00:00 app[web.1]: 2016-11-04 09:07:20 [3] [INFO] Handling signal: term
2016-11-04T09:07:20.541241+00:00 app[web.1]: 2016-11-04 09:07:20 [7] [INFO] Worker exiting (pid: 7)
2016-11-04T09:07:20.752145+00:00 app[web.1]: 2016-11-04 09:07:20 [3] [INFO] Shutting down: Master
2016-11-04T09:07:20.932424+00:00 heroku[web.1]: Process exited with status 0
2016-11-04T09:07:46.047825+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
2016-11-04T09:07:46.047990+00:00 heroku[web.1]: Stopping process with SIGKILL
2016-11-04T09:07:46.144820+00:00 heroku[web.1]: Process exited with status 137
2016-11-04T09:07:46.158902+00:00 heroku[web.1]: State changed from starting to crashed
2016-11-04T09:07:48.965583+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=geeni-api.herokuapp.com request_id=0c8f07bb-0d78-4518-92b0-247baff498d6 fwd="24.130.184.126" dyno= connect= service= status=503 bytes=
2016-11-04T09:07:51.924182+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=geeni-api.herokuapp.com request_id=72547341-f293-4b7a-acbf-fb560b7e4827 fwd="24.130.184.126" dyno= connect= service= status=503 bytes=
2016-11-04T09:07:52.690127+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=geeni-api.herokuapp.com request_id=7fc5635a-4f8d-4922-b200-7158defebbf7 fwd="24.130.184.126" dyno= connect= service= status=503 bytes=

我的app文件看起来像这样

geeniHeroku/
   ProcFile
   geeni.py
   requirements.txt

我做错了什么?我还完成了诸如git init和你需要做的所有步骤之类的所有事情。 我认为该错误与我的ProcFile内容web gunicorn geeni:app

有关

这里是requirements.txt的内容

Flask==0.10.1
Flask_RESTful==0.2.12
itsdangerous==0.24
passlib==1.6.5
requests==2.11.1
stripe==1.27.1

3 个答案:

答案 0 :(得分:1)

尝试重新启动heroku:

heroku restart

如果它不起作用,你可以尝试让heroku为你设置IP和端口,简单地使用它:
geeni.py

if __name__ == '__main__':
    app.run()

这是a Flask template for Heroku

答案 1 :(得分:0)

将gunicorn == 19.9.0添加到requirements.txt

答案 2 :(得分:0)

您正在设置自定义端口,并且在部署到Heroku时不应该这样做