Appengine SDK 1.7.3无法检测到已更新的文件。

3
我刚刚升级到运行在Linux上的SDK 1.7.3版本。同时,我使用了SQLite数据存储模拟器来替换被废弃的数据存储模拟器。
然而,此后对源文件的修改并不总是能够被检测到,每十次修改中可能会有一次需要停止并重新启动SDK。是否有其他人也遇到过这个问题?如何解决?
更新:对于python源文件的更改未被检测到。我没有对yaml文件进行任何修改,并且我认为jinja2模板文件的修改被正确地检测到了。
更新:我向dev appserver添加了一些日志记录,并发现我正在编辑的文件未被监视。继续跟踪发生了什么。

哪些源文件?对 app.yaml 的编辑总是需要重新启动 dev_appserver。 - Dave W. Smith
我们看到了同样的事情。它并不总是这样,但很烦人。一旦一个模块被导入,似乎它并不总是检查修改。 - Justin Grayston
Dave - 很好的观点,我已经编辑过了,以使它清楚地表明这是Python源文件。Justin,在升级后开始出现这种情况吗?你同时切换到SQLite了吗?你正在使用Linux SDK吗? - FoxyLad
2个回答

3

在SDK 1.73中,appcfg.py会出现类似问题,有时会跳过上传某些文件。看起来只有在python 2.7下运行appcfg.py才会发生这种情况。 解决方法是简单地在python 2.5下运行appcfg.py。然后上传可以可靠地工作。 上传的代码仍然可以是2.7特定的 - 只需要在运行appcfg.py中的上传器函数的步骤中恢复到2.5即可。


1

我在 Mac 上也看到了 1.7.3 更新后的这个问题。我没有改变任何数据存储方面的内容。我想说十分之一的概率是正确的。

编辑:

这里有一个解决方案,涉及将 "self._dirty = True" 添加到 google/appengine/tools/dev_appserver.py 中。

http://code.google.com/p/googleappengine/issues/detail?id=8383

似乎对一些人有效,自从那以后我就没有看到这个问题了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接