在Python Google App Engine环境中,我有一些应该最终保存的高度易变的数据。我会将它存储在实例的全局变量中,但我需要注意实例正在关闭,所以我可以写出来。
是否有这样的回调或安装钩子的地方?
(memcache是另一种选择,但我不需要实例之间的一致性开销,它也会在没有警告的情况下共享消失的问题)
(有关使用全局变量的更多信息,可以阅读Google Cookbook中的Cachepy。)
答案 0 :(得分:2)
您可能想看看gae-sessions的工作原理。它为wsgi app添加了一个会话中间件,以便在每个请求结束时保留数据。
您可以在启动时为每个实例提供唯一的ID,并始终将volatile数据写入实体,并在每个请求结束时将该唯一ID作为键名。您最终会执行更多写操作,但您永远不会将数据丢失到崩溃或终止的实例。您永远不需要将数据读入实例,因为它会持续实例的生命周期(我认为)。
答案 1 :(得分:1)
GAE为此提供了关机处理程序。请查看此部分here(在本案例中为Go)