2017-05-13 1 views
1

나는 Sanic app에서 Error: Nonetype을 계속 가져오고 이유를 확인할 수 없습니다.반복 된 오류 : 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)에서이 고정 된 것으로 보인다.