1

我现在在 GAE 上以 5-10 个请求/秒的速度运行 Python。在过去的两天里,我无法停止收到以下错误:

...    
result = memcache.get(url)
      File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/api/memcache/__init__.py", line 559, in get
        results = rpc.get_result()
      File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/api/apiproxy_stub_map.py", line 612, in get_result
        return self.__get_result_hook(self)
      File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/api/memcache/__init__.py", line 624, in __get_hook
        self._do_unpickle)
      File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/api/memcache/__init__.py", line 271, in _decode_value
        return do_unpickle(value)
      File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/api/memcache/__init__.py", line 401, in _do_unpickle
        return unpickler.load()
    ImportError: No module named gae_override.httplib

关键是我白天有一些“连续剧”。大多数时候它看起来不错,但是我可以一个一个收到50-100个错误。

我已经有几个星期没有碰过那个代码了,所以这个问题在过去的两天里一直存在。互联网上没有太多关于这方面的信息(实际上根本没有)。

有人有什么建议吗?

谢谢!

4

1 回答 1

1

您会在堆栈跟踪中注意到它说它无法导入模块gae_override。调用的模块gae_override不是 appengine 运行时的一部分。

该代码正在尝试重新构造存储在 memcache 中的实体,为此需要导入一些代码以进行模型/实体定义,并且找不到该gae_override模块。

我的猜测是你在你的代码中的某个地方为自定义库做一些路径操作,但是它不是在一个一致的地方完成的。在这种情况下,路径不正确,导入失败。您是否使用appengine_config.py设置导入路径?什么样的请求会出现错误 - 例如它是新启动的,这是它处理的第一个请求?

于 2013-11-13T00:17:57.400 回答