同じインスタンスでこのエラーが 20 回発生しましたが、連続エラーの処理が多すぎるためにインスタンスが強制終了された後、エラーはなくなりました。コードに変更は加えられていません。これが発生したのは今回だけです。
質問:
- 一部のインスタンスでのみこれが発生する原因となっているのは、コード内のどのような種類の問題ですか? 問題を再現できないため、どこから調べればよいかわかりません。
- インスタンスが強制終了される前に、インスタンスによって許容される連続エラーの数を減らす方法はありますか?
これは、このインスタンスから取得した最初のログです (エラーなし):
2012-10-05 18:41:03.266 /rpc/?action=ServerAvailable 500 60908ms 0kb popwords/1.2 CFNetwork/548.1.4 Darwin/11.4.2
98.207.195.103 - - [05/Oct/2012:11:41:03 -0700] "GET /rpc/?action=ServerAvailable HTTP/1.1" 500 0 - "popwords/1.2 CFNetwork/548.1.4 Darwin/11.4.2" "www.popwordsapp.appspot.com" ms=60909 cpu_ms=498 loading_request=1 instance=00c61b117c8f8b7f701c0776284c25a64c7ff329
I 2012-10-05 18:41:03.265
This request caused a new process to be started for your application, and thus caused your application code to be loaded for the first time. This request may thus take longer and use more CPU than a typical request for your application.
これは、このインスタンスの次のログです (最初にエラーが発生したログ):
2012-10-05 18:49:38.704 /rpc/?action=ServerAvailable 500 867ms 0kb popwords/1.2 CFNetwork/548.1.4 Darwin/11.4.2
98.207.195.103 - - [05/Oct/2012:11:49:38 -0700] "GET /rpc/?action=ServerAvailable HTTP/1.1" 500 0 - "popwords/1.2 CFNetwork/548.1.4 Darwin/11.4.2" "www.popwordsapp.appspot.com" ms=867 cpu_ms=86 instance=00c61b117c8f8b7f701c0776284c25a64c7ff329
E 2012-10-05 18:49:38.103
Traceback (most recent call last):
File "/base/python27_runtime/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 195, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
File "/base/python27_runtime/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 239, in _LoadHandler
handler = __import__(path[0])
File "/base/data/home/apps/s~popwordsapp/1.362183705604897547/main.py", line 40, in <module>
from google.appengine.ext import db
File "/base/python27_runtime/python27_lib/versions/1/google/appengine/ext/db/__init__.py", line 98, in <module>
from google.appengine.api import datastore
File "/base/python27_runtime/python27_lib/versions/1/google/appengine/api/datastore.py", line 62, in <module>
from google.appengine.datastore import datastore_query
File "/base/python27_runtime/python27_lib/versions/1/google/appengine/datastore/datastore_query.py", line 64, in <module>
from google.appengine.datastore import datastore_index
File "/base/python27_runtime/python27_lib/versions/1/google/appengine/datastore/datastore_index.py", line 62, in <module>
from google.appengine.api import yaml_object
File "/base/python27_runtime/python27_lib/versions/1/google/appengine/api/yaml_object.py", line 36, in <module>
from google.appengine.api import yaml_listener
File "/base/python27_runtime/python27_lib/versions/1/google/appengine/api/yaml_listener.py", line 34, in <module>
yaml.events.StreamStartEvent: 'StreamStart',
AttributeError: 'module' object has no attribute 'events'
In between these two logs there was one log where an additional instance was created (no error). None of the errors come from this other instance that was created immediately after the first one. It started handling requests successfully after the first instance was killed because of processing too many sequential errors.