3
我正试图在烧瓶框架上运行一个简单的Python应用程序Twilio API
。我在virtualenv
与以下相关发展:需要帮助修复500错误蟒蛇/烧瓶应用程序
- 瓶
- Jinja2的
- MarkupSafe
- WERKZEUG
- argparse
- gunicorn
- httplib2的
- itsdangerous
- twilio
- unittest2
- 的wsgiref
当我运行使用工头我的索引页面呈现精致和负载TwiML很好,但我在那里我处理短信回复/短信页面继续接收500错误,“服务器遇到内部错误,无法完成您的请求。无论是服务器超载或有错误的应用程序,“如果我推到Heroku上出现同样的错误下面是我的代码,任何想法
from flask import Flask, request, redirect, session
import twilio.twiml
from twilio.rest import TwilioRestClient
import os
SECRET_KEY = 'a secret key'
#initialize app
app = Flask(__name__)
app.config.from_object(__name__)
@app.route('/')
def index():
return 'hello'
@app.route("/sms", methods = ['GET', 'POST'])
def sms():
"""Respond with the number of text messages sent between two parties."""
counter = session.get('counter', 0)
counter += 1
if counter > 6:
counter = 1
session['counter'] = counter
score = session.get('score', 0)
answer = request.values.get('Body', '')
answer_response = False
response = False
if counter == 1:
response = "Welcome to our healthcare knowledge quiz. First question: What’s the average annual premium for family coverage on an employer health plan?"
elif counter == 2:
answer_response = "No, the average annual premium for family coverage on an employer health plan is $15,745."
if answer.lower() == 'b':
answer_response = "That's correct!"
score += 1
response = "Second question: What percentage of employer health premiums do workers pay, on average? A) 27.4%, B) 17.1%, C) 50.3%, or D) 5.8%"
elif counter == 3:
answer_response = "No, the average percentage of employer health premiums paid by workers is 27.4%"
if answer.lower() == 'a':
answer_response = "That's correct!"
score += 1
response = "3rd question: When do Americans have to purchase health insurance or face a penalty? A) January 2015, B) January 2014, C) December 2013, or D) December 2015."
elif counter == 4:
answer_response = "No, most Americans have to purchase health insurance or face a penalty under the federal healthcare law by January 2014."
if answer.lower() == 'b':
answer_response = "That's correct!"
score += 1
response = "4th question: What percentage of U.S. small businesses offered health benefits to their workers in 2010? A) 49%, B) 69%, C) 32%, or D) 58%."
elif counter == 5:
answer_response = "No, the percentage of U.S. small businesses which offered health benefits in 2010 was 49%."
if answer.lower() == 'a':
answer_response = "That's correct!"
score += 1
response = "5th question: How many people under 26 have been added to health plans as part of the Affordable Care Act? A) 5.6 mil., B) 0.5 mil., C) 2.9 mil., or D) 1.3 mil."
elif counter == 6:
answer_response = "No, 2.9 million young adults under age 26 have been added to parents' health plans as part of the Affordable Care Act."
if answer.lower() == 'c':
answer_response = "That's correct!"
score +=1
response = "Thanks for taking the healthcare quiz! You correctly answered %d out of 5 questions" % score
session['score'] = score
resp = twilio.twiml.Response()
if answer_response:
resp.sms(answer_response)
resp.sms(response)
return str(resp)
if __name__ == "__main__":
app.debug = True
app.run()
凯文伯克
Heroku的日志:。。?
2013-09-25T05:50:03.933994+00:00 heroku[web.1]: Starting process with command `gunicorn app_SMS_demo:app`
201
3-09-25T05:50:04.812490+00:00 app[web.1]: 2013-09-25 05:50:04 [2] [INFO] Handling signal: term
2013-09-25T05:50:04.812967+00:00 app[web.1]: 2013-09-25 05:50:04 [7] [INFO] Worker exiting (pid: 7)
2013-09-25T05:50:04.888387+00:00 app[web.1]: 2013-09-25 05:50:04 [2] [INFO] Shutting down: Master
2013-09-25T05:50:06.437279+00:00 app[web.1]: 2013-09-25 05:50:06 [2] [INFO] Starting gunicorn 18.0
2013-09-25T05:50:06.438326+00:00 app[web.1]: 2013-09-25 05:50:06 [2] [INFO] Listening at: http://0.0.0.0:53890 (2)
2013-09-25T05:50:06.438549+00:00 app[web.1]: 2013-09-25 05:50:06 [2] [INFO] Using worker: sync
2013-09-25T05:50:06.467209+00:00 app[web.1]: 2013-09-25 05:50:06 [7] [INFO] Booting worker with pid: 7
2013-09-25T05:50:06.998082+00:00 heroku[web.1]: State changed from starting to up
2013-09-25T05:50:07.065070+00:00 heroku[web.1]: Process exited with status 0
2013-09-25T05:50:10.438774+00:00 heroku[router]: at=info method=GET path=/ host=quiet-tundra-1590.herokuapp.com fwd="76.126.150.1" dyno=web.1 connect=1ms service=2648ms status=200 bytes=5
2013-09-25T05:52:44.200768+00:00 heroku[router]: at=info method=GET path=/ host=quiet-tundra-1590.herokuapp.com fwd="76.126.150.1" dyno=web.1 connect=2ms service=5ms status=200 bytes=5
2013-09-25T05:52:53.941483+00:00 heroku[router]: at=info method=GET path=/sms host=quiet-tundra-1590.herokuapp.com fwd="76.126.150.1" dyno=web.1 connect=1ms service=177ms status=500 bytes=291
我的Procfile:web:gunicorn app_SMS_demo:app – user1821396
也将endcoding设置为utf-8:# - * - coding:utf-8 - * - – user1821396
您可以粘贴回溯曲线。 –