【发布时间】:2010-01-14 14:56:00
【问题描述】:
我有一个多线程 xmlrpc 服务正在运行,它在内存中存储大量数据 ~2G。目前,如果我想更新服务器公开的方法,我必须重新启动服务。这里的问题是,如果我重新启动服务,它需要使用数据库或使用搁置的数据将内存中的所有数据加载回内存。
我正在使用这样的方法:
xmlrpc_getUser(self, uid):
return self.users[uid]
我希望我能做的只是将这些方法用作另一个模块的代理,所以我的方法看起来更像这样
xmlrpc_getUser(self, uid):
return self.proxy.getUser(uid)
这样我可以更新开发服务器上的代码,然后只需将我的更新代理模块复制到生产服务器,而无需重新启动。
我尝试添加 导入服务代理 到我的 xmlrpc 服务控制器的构造函数,但我认为模块已缓存并且不会重新加载。
有什么好办法吗?谢谢。
【问题讨论】: