6

iOS デバイス (プッシュ通知トークン) から POST データを受信するために使用される Django ベースの Web アプリケーションがあります。

全体として、アプリケーションは正常に動作しているようで、1 時間ごとに有効なデータを含む 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 リクエストをキャンセルしたためにこのエラーが発生したことを示しています。これは私が心配する必要があるエラーですか、それともこれらのエラー メッセージを除外するようにサーバーをセットアップする必要がありますか? これについて、1 日に 8 ~ 10 通の自動メールが届くと思います。

4

1 に答える 1

1

まだ回答を待っているかどうかはわかりませんが、基本的にコメントにはほとんどの情報が含まれています。それでは、質問を締めくくります...

これらのエラーは、不正な形式のリクエストがサーバーに到着したことを意味します。誰かがリクエストをキャンセルしたか、途中で壊れた可能性があります (インターネット接続の不良など)。

これらのエラーを直接解決することはできません。ただし、ページを見て (常に同じページである場合)、たとえば読み込みに時間がかかりすぎないかどうかを確認できます。手動でエラーを発生させて、エラーが発生した正確な時期と理由を確認することもできます。関連するものが見つからない限り、あまり心配する必要はないと思います。

于 2015-07-15T07:59:08.040 に答える