Django - 不时的UnreadablePostError?

时间:2012-09-21 23:39:31

标签: django

我们有一个基于Django的Web应用程序,用于从iOS设备接收POST数据(推送通知令牌)。

总而言之,该应用程序似乎工作正常,我们每小时都会收到1000-2000个有效数据的POST。但是,我偶尔会收到来自Django的错误日志,其中包含以下数据:

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

WSGIRequest转储说POST: <could not parse>

我一直在尝试查找有关此错误的更多信息,而且我发现的很多内容都指向此错误是由用户在帖子完成之前取消POST请求引起的。这是我应该关注的错误,还是应该设置服务器来过滤掉这些错误消息?我会说我每天可能收到8到10封自动电子邮件。

1 个答案:

答案 0 :(得分:1)

我不确定你是否还在等待答案,但基本上这些评论包含大部分信息。所以,只是为了结束这个问题......

这些错误意味着格式错误的请求到达服务器。有人可能已经取消了他们的请求,或者它在途中受到损坏(例如网络连接不良等)

您无法直接解决这些错误。但是你可以看看页面(如果它总是相同的那个)并检查例如加载是否需要花费太长时间。您也可以尝试手动导致错误,看看它究竟发生的时间和原因。除非你找到相关的东西,否则我认为你不必担心它。