2017-05-13 15 views
1

私はError: NonetypeをSanicアプリから入手し続けており、その理由を特定できません。繰り返しエラー:Sanic AppのNoneType

マイコード:

from sanic import Sanic 
from sanic.response import json, text 
from sanic.request import RequestParameters 

from parse_data import ParseData 

pdata = ParseData() 
app = Sanic('sanic_sms') 

app = Sanic(__name__) 

@app.route("/", methods=["POST",]) 
async def test(request): 
     data = {} 
     if request.form: 
       data = request.form 
     elif request.json: 
       data = request.json 

     result = pdata.prepare_output(data.get('text')) 

     resp = json(result) 
     resp.headers["Access-Control-Allow-Origin"] = "*" 
     resp.headers["Access-Control-Allow-Headers"] = "Content-Type,Authorization" 
     return resp 

app.run(host="0.0.0.0", port=8002) 

2017-05-13 15:10:03,454: INFO: Goin' Fast @http://0.0.0.0:8002
2017-05-13 15:10:03,456: INFO: Starting worker [30662] 2017-05-13
15:11:19,579: ERROR: NoneType

どのように私はこの問題を解決することができますか?

+0

あなたは 'ERROR:NoneType'がどこから出てきたかを知る必要があります。おそらくSanicのソースコード(おそらくそれを助けるためにデバッガを使うかもしれません)にあります。あるいは、エラーについて適切な情報を与えていない理由を開発者に尋ねる。 – handle

+0

詳細を表示するには 'app.run'に' debug = True'を追加してください。 'parse_data'パッケージは' pip'を通して利用可能ですか?私はそれを見つけることができません。 –

答えて

0

これはおそらくSanicの以前のバージョンのバグでした(バージョン0.4.0で動作しました)。

アプリは一定の割合でNoneType 408を投げた。
Config辞書のKEEP_ALIVE設定を焼戻しことによってそれを解決:

from sanic.config import Config 

Config.KEEP_ALIVE = False 
app = Sanic(__name__) 

を現在のバージョン(0.7.0)では、これは固定されているようです。