2012-09-21 12 views
6

Abbiamo un'applicazione web basata su Django che viene utilizzata per ricevere i dati POST dai dispositivi iOS (push token di notifica).Django - UnreadablePostError di volta in volta?

Tutto sommato, l'applicazione sembra funzionare correttamente e stiamo ricevendo un POST 1000-2000 con dati validi ogni ora. Comunque, sto ricevendo di tanto in tanto log degli errori da Django con i seguenti dati:

Traceback (most recent call last): 

File "/opt/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 111, in get_response 
response = callback(request, *callback_args, **callback_kwargs) 

File "/opt/local/lib/python2.7/site-packages/django/views/decorators/vary.py", line 19, in inner_func 
response = func(*args, **kwargs) 

File "/opt/local/lib/python2.7/site-packages/django_piston-0.2.3-py2.7.egg/piston/resource.py", line 160, in __call__ 
request.data = request.POST 

File "/opt/local/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 180, in _get_post 
self._load_post_and_files() 

File "/opt/local/lib/python2.7/site-packages/django/http/__init__.py", line 372, in _load_post_and_files 
self._post, self._files = QueryDict(self.body, encoding=self._encoding), MultiValueDict() 

File "/opt/local/lib/python2.7/site-packages/django/http/__init__.py", line 328, in body 
self._body = self.read() 

File "/opt/local/lib/python2.7/site-packages/django/http/__init__.py", line 384, in read 
return self._stream.read(*args, **kwargs) 

File "/opt/local/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 98, in read 
result = self.buffer + self._read_limited() 

File "/opt/local/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 92, in _read_limited 
result = self.stream.read(size) 

UnreadablePostError: request data read error 

E la discarica WSGIRequest dice POST: <could not parse>

Ho cercato di trovare ulteriori informazioni su questo errore, e un sacco di quello che sto vedendo indica che questo errore è causato da un utente che cancella una richiesta POST prima del completamento del post. È un errore di cui dovrei preoccuparmi, o dovrei semplicemente configurare il server per filtrare questi messaggi di errore? Direi che ricevo circa 8-10 email automatiche al giorno a riguardo.

+0

Penso che potresti tranquillamente ignorare tali richieste interrotte. – demalexx

+5

Queste sono richieste post annullate. Tuttavia, potrebbe essere necessario verificare che si tratti di annullamenti effettivi o che gli utenti li abbiano interrotti perché la richiesta richiedeva molto tempo. Per il caso successivo, è necessario verificare se c'è un collo di bottiglia nella tua app. – Rohan

+0

Sono questi durante il caricamento di file? Se sì - O l'utente ha caricato un file, sostiene, e interrompe richiesta, tempo della sessione fuori, o l'hardware è danneggiato, in modo che quando si sta cercando il contenuto dei file di accesso da qualche particolare posizione di memoria, si genera l'errore a causa di dati non corretti. – karthikr

risposta

1

Non sono sicuro che tu stia ancora aspettando la risposta ma fondamentalmente i commenti contengono la maggior parte delle informazioni. Quindi, solo per chiudere la domanda ...

Questi errori indicano che una richiesta non valida è arrivata sul server. Qualcuno potrebbe aver cancellato la richiesta o essersi macchiato sulla sua strada (ad esempio cattiva connessione internet), ecc.

Non è possibile risolvere direttamente questi errori. Comunque puoi dare un'occhiata alla pagina (se è sempre la stessa) e controllare se per esempio il caricamento non richiede troppo tempo. Puoi anche provare a fare in modo che l'errore visualizzi manualmente quando accade esattamente e perché. A meno che tu non trovi qualcosa di rilevante, non penso che ti debba preoccupare molto.

Problemi correlati