6

我们有一个基于 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 封关于此的自动电子邮件。

4

1 回答 1

1

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

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

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

于 2015-07-15T07:59:08.040 回答