2011-05-27 121 views
4

我使用泡沫0.3.8,Python 2.4.3和Django 1.1.1。我继承的代码对于缓存文件的持续时间很长,但是每24小时会默认一次的节奏。托管模式的外部服务器是不稳定的,所以网站每晚都会停下来,而且我处于绳索的尽头。忽略缓存设置?

任何想法什么是在这个代码顶起来?

imp = Import('http://domain2.com/url') 
imp.filter.add('http://domain3.com/url') 
imp.filter.add('http://domain4.com/url') 
imp.filter.add('http://domain5.com/url') 
d = ImportDoctor(imp) 

url = "http://domain.com/wsdl" 
client = Client(url, doctor=d, timeout=30) 
clientcache = client.options.cache 
clientcache.setduration(days=360) 

回答

11

回答我的问题:

这最终不是一个版本的问题,而是用户的错误。不幸的是,泡沫文件并不尽如人意。读它,人们会认为上面的代码将工作,但(对泡沫v0.39 +)应该写成:

imp = Import('http://domain2.com/url') 
imp.filter.add('http://domain3.com/url') 
imp.filter.add('http://domain4.com/url') 
imp.filter.add('http://domain5.com/url') 
d = ImportDoctor(imp) 

oc = ObjectCache() 
oc.setduration(days=360) 

url = "http://domain.com/wsdl" 
client = Client(url, doctor=d, cache=oc, timeout=30) 

现在看它,它使完整意义上的高速缓存必须配置客户端初始化之前。

希望这会帮助其他人尝试设置泡沫缓存,并且它似乎忽略了您的设置。

0

的问题可能出在默认的缓存类型的肥皂水0.3.8缺乏适当的支持,甚至可能是一个bug在这个版本。如果您能够升级到Suds 0.3.9或更高版本(最新版本为0.4),则可以使此行为按预期工作。

+0

谢谢,Janathism。我被困在这个版本中,因为我需要直接在缓存中修改文件,而且我无法调整烂泥版本。我会看看我能否得到这个工作。 – 2011-05-28 15:51:47