Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 应用引擎AttributeError:“模块”对象没有属性“事件”_Google App Engine - Fatal编程技术网

Google app engine 应用引擎AttributeError:“模块”对象没有属性“事件”

Google app engine 应用引擎AttributeError:“模块”对象没有属性“事件”,google-app-engine,Google App Engine,我在同一个实例上犯了20次这个错误,但由于处理了太多的顺序错误,在该实例被杀死后,这个错误就消失了。我的代码中没有任何更改,这是我唯一一次看到这种情况发生 问题: 我的代码中的什么类型的问题可能只会导致某些实例发生这种情况?我不知道从哪里开始寻找,因为我无法重现问题。 有没有一种方法可以在实例被终止之前减少其允许的顺序错误的数量,从而在再次发生时不会造成太大的中断? 这是我从该实例获得的第一个日志无错误: 2012-10-05 18:41:03.266 /rpc/?action=ServerAv

我在同一个实例上犯了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'

在这两个日志之间有一个日志,其中创建了一个附加实例,没有错误。没有一个错误来自在第一个实例之后立即创建的另一个实例。由于处理了太多的顺序错误,在第一个实例被终止后,它成功地开始处理请求。

我在部署代码后偶尔会看到这个错误,重新部署通常会停止它。我知道这没有多大帮助,但希望谷歌很快就能解决这个问题。

你能检查一下你的日志,看看对该实例的第一个请求是否有死线超标错误吗?如果是这样,这是一个已知的问题,实例处于半初始化状态,唯一的恢复方法是关闭实例。感谢您的关注。不,没有。我已经编辑了我的问题,添加了前两个日志和更详细的信息。第一个请求500肯定有错误,并且花费了60秒以上的时间。下一个请求也很有趣,因为出于某种原因,它正在进行应用程序加载,这应该只针对给定处理程序的第一个请求进行。这最好作为注释。这可能有用,但不是一个答案。我猜这只是因为重新部署时生成了一个新实例,删除了坏实例,所以我不认为这是防止坏实例出现的永久修复方法。