2017-05-13 1 views
1

Ich bekomme immer Error: Nonetype von einer Sanic App und ich kann den Grund nicht identifizieren.Wiederholte FEHLER: NoneType in Sanic App

Mein Code:

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

Wie kann ich dieses Problem lösen?

+0

Sie müssen herausfinden, wo 'ERROR: NoneType' stammt, also wahrscheinlich im Quellcode von Sanic (vielleicht einen Debugger verwenden, um damit zu helfen). Oder fragen Sie die Entwickler, warum sie keine korrekten Informationen über einen Fehler geben. – handle

+0

Fügen Sie 'debutieren = True' zu 'app.run' hinzu, um weitere Details zu erhalten. Ist das 'parse_data' ein Paket über' pip' verfügbar? Ich kann es nicht finden. –

Antwort

0

Es war wahrscheinlich ein Fehler in einer früheren Version von Sanic (ich habe dieses Verhalten auf Version 0.4.0).

Die App warf NoneType 408 mit einer konstanten Rate.
Gelöst es durch die KEEP_ALIVE Einstellung der Config Wörterbuch Anlassen:

from sanic.config import Config 

Config.KEEP_ALIVE = False 
app = Sanic(__name__) 

In der aktuellen Version (0.7.0) dieses Problem behoben worden zu sein scheint.

Verwandte Themen