【发布时间】:2016-11-04 08:13:23
【问题描述】:
我正在努力做好生产准备。 将来拥有我自己的域并调用条带。 但是我在部署我的应用时遇到问题。
'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=
我的应用文件看起来像这样
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
【问题讨论】:
-
日志中还有其他错误行吗?另外,你
requirements.txt的内容是什么? -
@DavidB。添加 requirements.txt 的内容
-
正确,所以
gunicorn不在该文件中。如果加上相关版本呢? -
什么意思? gunicorn 是否需要在 requirements.txt 中?如果可以,可以举个例子吗?
-
是的,正如devcenter.heroku.com/articles/python-gunicorn 中所述。所以你会添加一行:
gunicorn==0.14.2(带有你要使用的 gunicorn 版本)