2012-07-09 191 views
0

有关示例,
首先实例维护一个计数变量(INIT值为0),之后它服10名的请求,然后计数没有更多的请求从而应用程序引擎增加到10 关闭一审。
之后,创建第二个实例来处理传入的请求。
我的问题是计数变量将10或重置为初始值(0)?
如果它被重置,是否有避免这种情况? (除了手动使用数据存储)?
谢谢谷歌应用程序引擎实例的生命周期

回答

1

我推测你正在谈论一个全局/模块级别的变量,每个请求都会增加一个变量。答案是每个实例都在自己的进程中运行,因此不仅后续实例将从零开始,而且由于可以同时运行多个实例,因此每个实例都有自己的独立计数器。

正确的做法是使用memcache来存储密钥,这将是所有实例中的单个值。您可以执行memcache.incr('counter')以原子方式增加该值。

如果坚持数据很重要,您可以查看存储sharded counters